|
Packit |
1fb8d4 |
/*
|
|
Packit |
1fb8d4 |
Main/Home Activity
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
|
Packit |
1fb8d4 |
If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
Packit |
1fb8d4 |
*/
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
package com.freerdp.freerdpcore.presentation;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
import android.app.AlertDialog;
|
|
Packit |
1fb8d4 |
import android.content.DialogInterface;
|
|
Packit |
1fb8d4 |
import android.content.Intent;
|
|
Packit |
1fb8d4 |
import android.content.res.Configuration;
|
|
Packit |
1fb8d4 |
import android.net.Uri;
|
|
Packit |
1fb8d4 |
import android.os.Bundle;
|
|
Packit |
1fb8d4 |
import android.support.v7.app.AppCompatActivity;
|
|
Packit |
1fb8d4 |
import android.text.Editable;
|
|
Packit |
1fb8d4 |
import android.text.TextWatcher;
|
|
Packit |
1fb8d4 |
import android.util.Log;
|
|
Packit |
1fb8d4 |
import android.view.ContextMenu;
|
|
Packit |
1fb8d4 |
import android.view.ContextMenu.ContextMenuInfo;
|
|
Packit |
1fb8d4 |
import android.view.Menu;
|
|
Packit |
1fb8d4 |
import android.view.MenuInflater;
|
|
Packit |
1fb8d4 |
import android.view.MenuItem;
|
|
Packit |
1fb8d4 |
import android.view.View;
|
|
Packit |
1fb8d4 |
import android.view.View.OnClickListener;
|
|
Packit |
1fb8d4 |
import android.view.View.OnCreateContextMenuListener;
|
|
Packit |
1fb8d4 |
import android.widget.AdapterView;
|
|
Packit |
1fb8d4 |
import android.widget.AdapterView.AdapterContextMenuInfo;
|
|
Packit |
1fb8d4 |
import android.widget.Button;
|
|
Packit |
1fb8d4 |
import android.widget.CheckBox;
|
|
Packit |
1fb8d4 |
import android.widget.EditText;
|
|
Packit |
1fb8d4 |
import android.widget.ListView;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.R;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.application.GlobalApp;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.domain.BookmarkBase;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.domain.ConnectionReference;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.domain.PlaceholderBookmark;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.domain.QuickConnectBookmark;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.utils.BookmarkArrayAdapter;
|
|
Packit |
1fb8d4 |
import com.freerdp.freerdpcore.utils.SeparatedListAdapter;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
import java.util.ArrayList;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
public class HomeActivity extends AppCompatActivity {
|
|
Packit |
1fb8d4 |
private final static String ADD_BOOKMARK_PLACEHOLDER = "add_bookmark";
|
|
Packit |
1fb8d4 |
private static final String TAG = "HomeActivity";
|
|
Packit |
1fb8d4 |
private static final String PARAM_SUPERBAR_TEXT = "superbar_text";
|
|
Packit |
1fb8d4 |
private ListView listViewBookmarks;
|
|
Packit |
1fb8d4 |
private Button clearTextButton;
|
|
Packit |
1fb8d4 |
private EditText superBarEditText;
|
|
Packit |
1fb8d4 |
private BookmarkArrayAdapter manualBookmarkAdapter;
|
|
Packit |
1fb8d4 |
private SeparatedListAdapter separatedListAdapter;
|
|
Packit |
1fb8d4 |
private PlaceholderBookmark addBookmarkPlaceholder;
|
|
Packit |
1fb8d4 |
private String sectionLabelBookmarks;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
View mDecor;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onCreate(Bundle savedInstanceState) {
|
|
Packit |
1fb8d4 |
setTitle(R.string.title_home);
|
|
Packit |
1fb8d4 |
super.onCreate(savedInstanceState);
|
|
Packit |
1fb8d4 |
setContentView(R.layout.home);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
mDecor = getWindow().getDecorView();
|
|
Packit |
1fb8d4 |
mDecor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
long heapSize = Runtime.getRuntime().maxMemory();
|
|
Packit |
1fb8d4 |
Log.i(TAG, "Max HeapSize: " + heapSize);
|
|
Packit |
1fb8d4 |
Log.i(TAG, "App data folder: " + getFilesDir().toString());
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// load strings
|
|
Packit |
1fb8d4 |
sectionLabelBookmarks = getResources().getString(R.string.section_bookmarks);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// create add bookmark/quick connect bookmark placeholder
|
|
Packit |
1fb8d4 |
addBookmarkPlaceholder = new PlaceholderBookmark();
|
|
Packit |
1fb8d4 |
addBookmarkPlaceholder.setName(ADD_BOOKMARK_PLACEHOLDER);
|
|
Packit |
1fb8d4 |
addBookmarkPlaceholder.setLabel(getResources().getString(R.string.list_placeholder_add_bookmark));
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// check for passed .rdp file and open it in a new bookmark
|
|
Packit |
1fb8d4 |
Intent caller = getIntent();
|
|
Packit |
1fb8d4 |
Uri callParameter = caller.getData();
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
if (Intent.ACTION_VIEW.equals(caller.getAction()) && callParameter != null) {
|
|
Packit |
1fb8d4 |
String refStr = ConnectionReference.getFileReference(callParameter.getPath());
|
|
Packit |
1fb8d4 |
Bundle bundle = new Bundle();
|
|
Packit |
1fb8d4 |
bundle.putString(BookmarkActivity.PARAM_CONNECTION_REFERENCE, refStr);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
Intent bookmarkIntent = new Intent(this.getApplicationContext(), BookmarkActivity.class);
|
|
Packit |
1fb8d4 |
bookmarkIntent.putExtras(bundle);
|
|
Packit |
1fb8d4 |
startActivity(bookmarkIntent);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// load views
|
|
Packit |
1fb8d4 |
clearTextButton = (Button) findViewById(R.id.clear_search_btn);
|
|
Packit |
1fb8d4 |
superBarEditText = (EditText) findViewById(R.id.superBarEditText);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
listViewBookmarks = (ListView) findViewById(R.id.listViewBookmarks);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// set listeners for the list view
|
|
Packit |
1fb8d4 |
listViewBookmarks.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
Packit |
1fb8d4 |
public void onItemClick(AdapterView parent, View view, int position, long id) {
|
|
Packit |
1fb8d4 |
String curSection = separatedListAdapter.getSectionForPosition(position);
|
|
Packit |
1fb8d4 |
Log.v(TAG, "Clicked on item id " + separatedListAdapter.getItemId(position) + " in section " + curSection);
|
|
Packit |
1fb8d4 |
if (curSection == sectionLabelBookmarks) {
|
|
Packit |
1fb8d4 |
String refStr = view.getTag().toString();
|
|
Packit |
1fb8d4 |
if (ConnectionReference.isManualBookmarkReference(refStr) ||
|
|
Packit |
1fb8d4 |
ConnectionReference.isHostnameReference(refStr)) {
|
|
Packit |
1fb8d4 |
Bundle bundle = new Bundle();
|
|
Packit |
1fb8d4 |
bundle.putString(SessionActivity.PARAM_CONNECTION_REFERENCE, refStr);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
Intent sessionIntent = new Intent(view.getContext(), SessionActivity.class);
|
|
Packit |
1fb8d4 |
sessionIntent.putExtras(bundle);
|
|
Packit |
1fb8d4 |
startActivity(sessionIntent);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// clear any search text
|
|
Packit |
1fb8d4 |
superBarEditText.setText("");
|
|
Packit |
1fb8d4 |
superBarEditText.clearFocus();
|
|
Packit |
1fb8d4 |
} else if (ConnectionReference.isPlaceholderReference(refStr)) {
|
|
Packit |
1fb8d4 |
// is this the add bookmark placeholder?
|
|
Packit |
1fb8d4 |
if (ConnectionReference.getPlaceholder(refStr).equals(ADD_BOOKMARK_PLACEHOLDER)) {
|
|
Packit |
1fb8d4 |
Intent bookmarkIntent = new Intent(view.getContext(), BookmarkActivity.class);
|
|
Packit |
1fb8d4 |
startActivity(bookmarkIntent);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
});
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
listViewBookmarks.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
|
|
Packit |
1fb8d4 |
// if the selected item is not a session item (tag == null) and not a quick connect entry
|
|
Packit |
1fb8d4 |
// (not a hostname connection reference) inflate the context menu
|
|
Packit |
1fb8d4 |
View itemView = ((AdapterContextMenuInfo) menuInfo).targetView;
|
|
Packit |
1fb8d4 |
String refStr = itemView.getTag() != null ? itemView.getTag().toString() : null;
|
|
Packit |
1fb8d4 |
if (refStr != null && !ConnectionReference.isHostnameReference(refStr) && !ConnectionReference.isPlaceholderReference(refStr)) {
|
|
Packit |
1fb8d4 |
getMenuInflater().inflate(R.menu.bookmark_context_menu, menu);
|
|
Packit |
1fb8d4 |
menu.setHeaderTitle(getResources().getString(R.string.menu_title_bookmark));
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
});
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
superBarEditText.addTextChangedListener(new SuperBarTextWatcher());
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
clearTextButton.setOnClickListener(new OnClickListener() {
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onClick(View v) {
|
|
Packit |
1fb8d4 |
superBarEditText.setText("");
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
});
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onConfigurationChanged(Configuration newConfig) {
|
|
Packit |
1fb8d4 |
// ignore orientation/keyboard change
|
|
Packit |
1fb8d4 |
super.onConfigurationChanged(newConfig);
|
|
Packit |
1fb8d4 |
mDecor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public boolean onSearchRequested() {
|
|
Packit |
1fb8d4 |
superBarEditText.requestFocus();
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public boolean onContextItemSelected(MenuItem aItem) {
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// get connection reference
|
|
Packit |
1fb8d4 |
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) aItem.getMenuInfo();
|
|
Packit |
1fb8d4 |
String refStr = menuInfo.targetView.getTag().toString();
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// refer to http://tools.android.com/tips/non-constant-fields why we can't use switch/case here ..
|
|
Packit |
1fb8d4 |
int itemId = aItem.getItemId();
|
|
Packit |
1fb8d4 |
if (itemId == R.id.bookmark_connect) {
|
|
Packit |
1fb8d4 |
Bundle bundle = new Bundle();
|
|
Packit |
1fb8d4 |
bundle.putString(SessionActivity.PARAM_CONNECTION_REFERENCE, refStr);
|
|
Packit |
1fb8d4 |
Intent sessionIntent = new Intent(this, SessionActivity.class);
|
|
Packit |
1fb8d4 |
sessionIntent.putExtras(bundle);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
startActivity(sessionIntent);
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
} else if (itemId == R.id.bookmark_edit) {
|
|
Packit |
1fb8d4 |
Bundle bundle = new Bundle();
|
|
Packit |
1fb8d4 |
bundle.putString(BookmarkActivity.PARAM_CONNECTION_REFERENCE, refStr);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
Intent bookmarkIntent = new Intent(this.getApplicationContext(), BookmarkActivity.class);
|
|
Packit |
1fb8d4 |
bookmarkIntent.putExtras(bundle);
|
|
Packit |
1fb8d4 |
startActivity(bookmarkIntent);
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
} else if (itemId == R.id.bookmark_delete) {
|
|
Packit |
1fb8d4 |
if (ConnectionReference.isManualBookmarkReference(refStr)) {
|
|
Packit |
1fb8d4 |
long id = ConnectionReference.getManualBookmarkId(refStr);
|
|
Packit |
1fb8d4 |
GlobalApp.getManualBookmarkGateway().delete(id);
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.remove(id);
|
|
Packit |
1fb8d4 |
separatedListAdapter.notifyDataSetChanged();
|
|
Packit |
1fb8d4 |
} else {
|
|
Packit |
1fb8d4 |
assert false;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// clear super bar text
|
|
Packit |
1fb8d4 |
superBarEditText.setText("");
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
return false;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
protected void onResume() {
|
|
Packit |
1fb8d4 |
super.onResume();
|
|
Packit |
1fb8d4 |
Log.v(TAG, "HomeActivity.onResume");
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// create bookmark cursor adapter
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter = new BookmarkArrayAdapter(this, R.layout.bookmark_list_item, GlobalApp.getManualBookmarkGateway().findAll());
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// add add bookmark item to manual adapter
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.insert(addBookmarkPlaceholder, 0);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// attach all adapters to the separatedListView adapter and assign it to the list view
|
|
Packit |
1fb8d4 |
separatedListAdapter = new SeparatedListAdapter(this);
|
|
Packit |
1fb8d4 |
separatedListAdapter.addSection(sectionLabelBookmarks, manualBookmarkAdapter);
|
|
Packit |
1fb8d4 |
listViewBookmarks.setAdapter(separatedListAdapter);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// if we have a filter text entered cause an update to be caused here
|
|
Packit |
1fb8d4 |
String filter = superBarEditText.getText().toString();
|
|
Packit |
1fb8d4 |
if (filter.length() > 0)
|
|
Packit |
1fb8d4 |
superBarEditText.setText(filter);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
protected void onPause() {
|
|
Packit |
1fb8d4 |
super.onPause();
|
|
Packit |
1fb8d4 |
Log.v(TAG, "HomeActivity.onPause");
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// reset adapters
|
|
Packit |
1fb8d4 |
listViewBookmarks.setAdapter(null);
|
|
Packit |
1fb8d4 |
separatedListAdapter = null;
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter = null;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onBackPressed() {
|
|
Packit |
1fb8d4 |
// if back was pressed - ask the user if he really wants to exit
|
|
Packit |
1fb8d4 |
if (ApplicationSettingsActivity.getAskOnExit(this)) {
|
|
Packit |
1fb8d4 |
final CheckBox cb = new CheckBox(this);
|
|
Packit |
1fb8d4 |
cb.setChecked(!ApplicationSettingsActivity.getAskOnExit(this));
|
|
Packit |
1fb8d4 |
cb.setText(R.string.dlg_dont_show_again);
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
|
Packit |
1fb8d4 |
builder.setTitle(R.string.dlg_title_exit)
|
|
Packit |
1fb8d4 |
.setMessage(R.string.dlg_msg_exit)
|
|
Packit |
1fb8d4 |
.setView(cb)
|
|
Packit |
1fb8d4 |
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
|
Packit |
1fb8d4 |
public void onClick(DialogInterface dialog, int which) {
|
|
Packit |
1fb8d4 |
finish();
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
})
|
|
Packit |
1fb8d4 |
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
|
Packit |
1fb8d4 |
public void onClick(DialogInterface dialog, int which) {
|
|
Packit |
1fb8d4 |
dialog.dismiss();
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
})
|
|
Packit |
1fb8d4 |
.create()
|
|
Packit |
1fb8d4 |
.show();
|
|
Packit |
1fb8d4 |
} else {
|
|
Packit |
1fb8d4 |
super.onBackPressed();
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
protected void onSaveInstanceState(Bundle outState) {
|
|
Packit |
1fb8d4 |
super.onSaveInstanceState(outState);
|
|
Packit |
1fb8d4 |
outState.putString(PARAM_SUPERBAR_TEXT, superBarEditText.getText().toString());
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
protected void onRestoreInstanceState(Bundle inState) {
|
|
Packit |
1fb8d4 |
super.onRestoreInstanceState(inState);
|
|
Packit |
1fb8d4 |
superBarEditText.setText(inState.getString(PARAM_SUPERBAR_TEXT));
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public boolean onCreateOptionsMenu(Menu menu) {
|
|
Packit |
1fb8d4 |
MenuInflater inflater = getMenuInflater();
|
|
Packit |
1fb8d4 |
inflater.inflate(R.menu.home_menu, menu);
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public boolean onOptionsItemSelected(MenuItem item) {
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// refer to http://tools.android.com/tips/non-constant-fields why we can't use switch/case here ..
|
|
Packit |
1fb8d4 |
int itemId = item.getItemId();
|
|
Packit |
1fb8d4 |
if (itemId == R.id.newBookmark) {
|
|
Packit |
1fb8d4 |
Intent bookmarkIntent = new Intent(this, BookmarkActivity.class);
|
|
Packit |
1fb8d4 |
startActivity(bookmarkIntent);
|
|
Packit |
1fb8d4 |
} else if (itemId == R.id.appSettings) {
|
|
Packit |
1fb8d4 |
Intent settingsIntent = new Intent(this, ApplicationSettingsActivity.class);
|
|
Packit |
1fb8d4 |
startActivity(settingsIntent);
|
|
Packit |
1fb8d4 |
} else if (itemId == R.id.help) {
|
|
Packit |
1fb8d4 |
Intent helpIntent = new Intent(this, HelpActivity.class);
|
|
Packit |
1fb8d4 |
startActivity(helpIntent);
|
|
Packit |
1fb8d4 |
} else if (itemId == R.id.about) {
|
|
Packit |
1fb8d4 |
Intent aboutIntent = new Intent(this, AboutActivity.class);
|
|
Packit |
1fb8d4 |
startActivity(aboutIntent);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
return true;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
private class SuperBarTextWatcher implements TextWatcher {
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void afterTextChanged(Editable s) {
|
|
Packit |
1fb8d4 |
if (separatedListAdapter != null) {
|
|
Packit |
1fb8d4 |
String text = s.toString();
|
|
Packit |
1fb8d4 |
if (text.length() > 0) {
|
|
Packit |
1fb8d4 |
ArrayList<BookmarkBase> computers_list = GlobalApp.getQuickConnectHistoryGateway().findHistory(text);
|
|
Packit |
1fb8d4 |
computers_list.addAll(GlobalApp.getManualBookmarkGateway().findByLabelOrHostnameLike(text));
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.replaceItems(computers_list);
|
|
Packit |
1fb8d4 |
QuickConnectBookmark qcBm = new QuickConnectBookmark();
|
|
Packit |
1fb8d4 |
qcBm.setLabel(text);
|
|
Packit |
1fb8d4 |
qcBm.setHostname(text);
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.insert(qcBm, 0);
|
|
Packit |
1fb8d4 |
} else {
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.replaceItems(GlobalApp.getManualBookmarkGateway().findAll());
|
|
Packit |
1fb8d4 |
manualBookmarkAdapter.insert(addBookmarkPlaceholder, 0);
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
separatedListAdapter.notifyDataSetChanged();
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@Override
|
|
Packit |
1fb8d4 |
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
}
|