Android Open Source - ironcontrol-for-android Search Fragment Activity






From Project

Back to project page ironcontrol-for-android.

License

The source code is released under:

Apache License

If you think the Android project ironcontrol-for-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * #%L/*from w  w  w  .j  a v  a2s. com*/
 * =====================================================
 *   _____                _     ____  _   _       _   _
 *  |_   _|_ __ _   _ ___| |_  / __ \| | | | ___ | | | |
 *    | | | '__| | | / __| __|/ / _` | |_| |/ __|| |_| |
 *    | | | |  | |_| \__ \ |_| | (_| |  _  |\__ \|  _  |
 *    |_| |_|   \__,_|___/\__|\ \__,_|_| |_||___/|_| |_|
 *                             \____/
 * 
 * =====================================================
 * 
 * Hochschule Hannover
 * (University of Applied Sciences and Arts, Hannover)
 * Faculty IV, Dept. of Computer Science
 * Ricklinger Stadtweg 118, 30459 Hannover, Germany
 * 
 * Email: trust@f4-i.fh-hannover.de
 * Website: http://trust.f4.hs-hannover.de/
 * 
 * This file is part of ironcontrol for android, version 1.0.1, implemented by the Trust@HsH research group at the Hochschule Hannover.
 * %%
 * Copyright (C) 2013 Trust@HsH
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package de.hshannover.f4.trust.ironcontrol.view;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.Spinner;
import android.widget.TabHost;
import de.hshannover.f4.trust.ironcontrol.R;
import de.hshannover.f4.trust.ironcontrol.database.DBContentProvider;
import de.hshannover.f4.trust.ironcontrol.database.entities.Connections;
import de.hshannover.f4.trust.ironcontrol.database.entities.Requests;
import de.hshannover.f4.trust.ironcontrol.logger.Logger;
import de.hshannover.f4.trust.ironcontrol.logger.LoggerFactory;

public class SearchFragmentActivity extends FragmentActivity  {

  private static final Logger logger = LoggerFactory.getLogger(SearchFragmentActivity.class);

  public static final String MESSAGESEARCH = "Search...";

  private Spinner sStartIdentifier;
  private SeekBar sbMaxDepth;
  private EditText etStartIdentifier, etName;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_activity_search);

    Cursor connection_cursor = getContentResolver().query(DBContentProvider.CONNECTIONS_URI, new String[]{Connections.COLUMN_NAME}, null, null, null);
    if(connection_cursor.getCount() == 0){
      createConnectionSettingsDialog().show();
    }
  }

  @Override
  public void onStart() {
    super.onStart();
    readResources();

    // Start Activity with data
    Bundle bundle = getIntent().getExtras();
    if(bundle != null && bundle.getString("listItemId") != null){
      fillActivityViews(bundle.getString("listItemId"));
    }
  }

  @Override
  public void onResume() {
    super.onResume();
  }

  public void search(View view){
    FragmentManager fm = getSupportFragmentManager();
    Fragment tabsFragment = fm.findFragmentById(R.id.tabs_fragment);
    TabHost tabHost = (TabHost)tabsFragment.getView().findViewById(android.R.id.tabhost);

    if(tabHost.getCurrentView().getId() == R.id.tab1){
      //Simple Search
      SimpleRequestFragment fSimple = (SimpleRequestFragment) fm.findFragmentByTag(TabFragment.TAB_SIMPLE);
      fSimple.search(view);

    }else if(tabHost.getCurrentView().getId() == R.id.tab2){
      //Advanced Search
      AdvancedRequestFragment fAdvanced = (AdvancedRequestFragment) fm.findFragmentByTag(TabFragment.TAB_ADVANCED);
      fAdvanced.search(view);
    }
  }

  public void saveSearch(View view){
    FragmentManager fm = getSupportFragmentManager();
    Fragment tabsFragment = fm.findFragmentById(R.id.tabs_fragment);
    TabHost tabHost = (TabHost)tabsFragment.getView().findViewById(android.R.id.tabhost);

    if(tabHost.getCurrentView().getId() == R.id.tab1){
      //Simple Search
      SimpleRequestFragment fSimple = (SimpleRequestFragment) fm.findFragmentByTag(TabFragment.TAB_SIMPLE);
      fSimple.createSearchSaveDialog().show();

    }else if(tabHost.getCurrentView().getId() == R.id.tab2){
      //Advanced Search
      AdvancedRequestFragment fAdvanced = (AdvancedRequestFragment) fm.findFragmentByTag(TabFragment.TAB_ADVANCED);
      fAdvanced.createSearchSaveDialog().show();
    }
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_search, menu);
    return true;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_settings:
      startActivity(new Intent(getBaseContext(), SettingsActivity.class));
      return true;
    case R.id.menu_exit:
      Intent home = new Intent(Intent.ACTION_MAIN);
      home.addCategory(Intent.CATEGORY_HOME);
      home.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(home);
      return true;
    default:
      return super.onOptionsItemSelected(item);
    }
  }

  private void readResources(){
    sStartIdentifier = (Spinner)findViewById(R.id.sIdentifier1);
    etStartIdentifier = (EditText)findViewById(R.id.etIdentifier1);
    sbMaxDepth = (SeekBar)findViewById(R.id.seekBarMaxDepth);
    etName = (EditText)findViewById(R.id.etName);
  }

  private void fillActivityViews(String itemId) {
    Uri publish_uri = Uri.parse(DBContentProvider.SEARCH_URI + "/"+ itemId);
    String[] search_projection = new String[]{Requests.COLUMN_ID, Requests.COLUMN_IDENTIFIER1, Requests.COLUMN_IDENTIFIER1_Value, Requests.COLUMN_NAME, Requests.COLUMN_MATCH_LINKS, Requests.COLUMN_MAX_DEPTH, Requests.COLUMN_MAX_SITZ, Requests.COLUMN_RESULT_FILTER, Requests.COLUMN_TERMINAL_IDENTIFIER_TYPES};

    Cursor publish_cursor = getContentResolver().query(publish_uri, search_projection, null, null, null);

    publish_cursor.moveToNext();
    System.out.println(publish_cursor.getCount());
    String name = publish_cursor.getString(publish_cursor.getColumnIndexOrThrow(Requests.COLUMN_NAME));
    String[] identifiers = {publish_cursor.getString(publish_cursor.getColumnIndexOrThrow(Requests.COLUMN_IDENTIFIER1))};
    String[] values = {publish_cursor.getString(publish_cursor.getColumnIndexOrThrow(Requests.COLUMN_IDENTIFIER1_Value))};
    int maxDepth = publish_cursor.getInt(publish_cursor.getColumnIndexOrThrow(Requests.COLUMN_MAX_DEPTH));

    publish_cursor.close();

    etName.setText(name);
    sStartIdentifier.setSelection(getSpinnerIndex(sStartIdentifier, identifiers[0]));
    etStartIdentifier.setText(values[0]);
    sbMaxDepth.setProgress(maxDepth);

  }

  private int getSpinnerIndex(Spinner spinner, String s){
    int index = 0;
    for (int i=0;i<spinner.getCount();i++){
      if (spinner.getItemAtPosition(i).equals(s)){
        index = i;
      }
    }
    return index;
  }

  private Dialog createConnectionSettingsDialog(){
    AlertDialog.Builder connectionSettingsDialog = createDialog(R.string.no_connection_settings, R.string.no_connection_settings_message);

    connectionSettingsDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {
        Intent intent = new Intent(getBaseContext(), ConnectionFragmentActivity.class);
        startActivity(intent);
      }
    });

    connectionSettingsDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {
        // Canceled
      }
    });

    return connectionSettingsDialog.create();
  }

  private AlertDialog.Builder createDialog(int titleId, int messageId){
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle(titleId);
    alert.setMessage(messageId);
    return alert;
  }
}




Java Source Code List

de.hshannover.f4.trust.ironcontrol.asynctask.ConnectionTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PDP.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTestTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PurgePublisherTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SearchTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SubscriptionTask.java
de.hshannover.f4.trust.ironcontrol.database.DBContentProvider.java
de.hshannover.f4.trust.ironcontrol.database.DatabaseHelper.java
de.hshannover.f4.trust.ironcontrol.database.entities.AbstractEntity.java
de.hshannover.f4.trust.ironcontrol.database.entities.Attributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Connections.java
de.hshannover.f4.trust.ironcontrol.database.entities.IdentifierAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Identifier.java
de.hshannover.f4.trust.ironcontrol.database.entities.MetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Requests.java
de.hshannover.f4.trust.ironcontrol.database.entities.Responses.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultItems.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetadata.java
de.hshannover.f4.trust.ironcontrol.database.entities.VendorMetadata.java
de.hshannover.f4.trust.ironcontrol.exceptions.IronControlUncaughtExceptionHandler.java
de.hshannover.f4.trust.ironcontrol.logger.Level.java
de.hshannover.f4.trust.ironcontrol.logger.LogData.java
de.hshannover.f4.trust.ironcontrol.logger.LogReceiver.java
de.hshannover.f4.trust.ironcontrol.logger.LoggerFactory.java
de.hshannover.f4.trust.ironcontrol.logger.Logger.java
de.hshannover.f4.trust.ironcontrol.logger.appander.Appender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogCatAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogFileAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogListAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogToastAppender.java
de.hshannover.f4.trust.ironcontrol.logic.Connection.java
de.hshannover.f4.trust.ironcontrol.logic.KeystoreManager.java
de.hshannover.f4.trust.ironcontrol.logic.RequestsController.java
de.hshannover.f4.trust.ironcontrol.logic.ResultNotificationManager.java
de.hshannover.f4.trust.ironcontrol.logic.StoredResponses.java
de.hshannover.f4.trust.ironcontrol.logic.SubscriptionPoller.java
de.hshannover.f4.trust.ironcontrol.logic.data.BuildIdetifiers.java
de.hshannover.f4.trust.ironcontrol.logic.data.Operation.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollReceiver.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollSender.java
de.hshannover.f4.trust.ironcontrol.logic.data.PublishRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.RequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SearchRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SubscribeRequestData.java
de.hshannover.f4.trust.ironcontrol.view.AdvancedRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.ConnectionFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.MainActivity.java
de.hshannover.f4.trust.ironcontrol.view.MetadataBuilderActivity.java
de.hshannover.f4.trust.ironcontrol.view.PublishActivity.java
de.hshannover.f4.trust.ironcontrol.view.SearchButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SearchFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.SettingsActivity.java
de.hshannover.f4.trust.ironcontrol.view.SimpleRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.TabFragment.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialogEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoicePublishDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceRemoveDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSearchDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSubscribeDialog.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListHierarchyActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListOverviewActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResponsesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultItemsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaAttributesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedConnectionsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedPublishsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListVendorMetadataActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListArrayAdapter.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerPopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataEditText.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataLinearLayout.java
de.hshannover.f4.trust.ironcontrol.view.util.MetadataValueFieldsBuilder.java
de.hshannover.f4.trust.ironcontrol.view.util.Node.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUpEvent.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.PromptSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.RequiredSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.SavePopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.Util.java
de.hshannover.f4.trust.ironcontrol.view.util.ValidSpinnerAdapter.java