summaryrefslogtreecommitdiff
path: root/src/com/android/phone/ADNList.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/phone/ADNList.java')
-rw-r--r--src/com/android/phone/ADNList.java217
1 files changed, 0 insertions, 217 deletions
diff --git a/src/com/android/phone/ADNList.java b/src/com/android/phone/ADNList.java
deleted file mode 100644
index b4e8ac74..00000000
--- a/src/com/android/phone/ADNList.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * 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.
- */
-
-package com.android.phone;
-
-import static android.view.Window.PROGRESS_VISIBILITY_OFF;
-import static android.view.Window.PROGRESS_VISIBILITY_ON;
-
-import android.app.ListActivity;
-import android.content.AsyncQueryHandler;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.util.Log;
-import android.view.Window;
-import android.widget.CursorAdapter;
-import android.widget.SimpleCursorAdapter;
-import android.widget.TextView;
-
-/**
- * ADN List activity for the Phone app.
- */
-public class ADNList extends ListActivity {
- protected static final String TAG = "ADNList";
- protected static final boolean DBG = false;
-
- private static final String[] COLUMN_NAMES = new String[] {
- "name",
- "number",
- "emails"
- };
-
- protected static final int NAME_COLUMN = 0;
- protected static final int NUMBER_COLUMN = 1;
- protected static final int EMAILS_COLUMN = 2;
-
- private static final int[] VIEW_NAMES = new int[] {
- android.R.id.text1,
- android.R.id.text2
- };
-
- protected static final int QUERY_TOKEN = 0;
- protected static final int INSERT_TOKEN = 1;
- protected static final int UPDATE_TOKEN = 2;
- protected static final int DELETE_TOKEN = 3;
-
-
- protected QueryHandler mQueryHandler;
- protected CursorAdapter mCursorAdapter;
- protected Cursor mCursor = null;
-
- private TextView mEmptyText;
-
- protected int mInitialSelection = -1;
-
- @Override
- protected void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
- setContentView(R.layout.adn_list);
- mEmptyText = (TextView) findViewById(android.R.id.empty);
- mQueryHandler = new QueryHandler(getContentResolver());
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- query();
- }
-
- @Override
- protected void onStop() {
- super.onStop();
- if (mCursor != null) {
- mCursor.deactivate();
- }
- }
-
- protected Uri resolveIntent() {
- Intent intent = getIntent();
- if (intent.getData() == null) {
- intent.setData(Uri.parse("content://icc/adn"));
- }
-
- return intent.getData();
- }
-
- private void query() {
- Uri uri = resolveIntent();
- if (DBG) log("query: starting an async query");
- mQueryHandler.startQuery(QUERY_TOKEN, null, uri, COLUMN_NAMES,
- null, null, null);
- displayProgress(true);
- }
-
- private void reQuery() {
- query();
- }
-
- private void setAdapter() {
- // NOTE:
- // As it it written, the positioning code below is NOT working.
- // However, this current non-working state is in compliance with
- // the UI paradigm, so we can't really do much to change it.
-
- // In the future, if we wish to get this "positioning" correct,
- // we'll need to do the following:
- // 1. Change the layout to in the cursor adapter to:
- // android.R.layout.simple_list_item_checked
- // 2. replace the selection / focus code with:
- // getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
- // getListView().setItemChecked(mInitialSelection, true);
-
- // Since the positioning is really only useful for the dialer's
- // SpecialCharSequence case (dialing '2#' to get to the 2nd
- // contact for instance), it doesn't make sense to mess with
- // the usability of the activity just for this case.
-
- // These artifacts include:
- // 1. UI artifacts (checkbox and highlight at the same time)
- // 2. Allowing the user to edit / create new SIM contacts when
- // the user is simply trying to retrieve a number into the d
- // dialer.
-
- if (mCursorAdapter == null) {
- mCursorAdapter = newAdapter();
-
- setListAdapter(mCursorAdapter);
- } else {
- mCursorAdapter.changeCursor(mCursor);
- }
-
- if (mInitialSelection >=0 && mInitialSelection < mCursorAdapter.getCount()) {
- setSelection(mInitialSelection);
- getListView().setFocusableInTouchMode(true);
- boolean gotfocus = getListView().requestFocus();
- }
- }
-
- protected CursorAdapter newAdapter() {
- return new SimpleCursorAdapter(this,
- android.R.layout.simple_list_item_2,
- mCursor, COLUMN_NAMES, VIEW_NAMES);
- }
-
- private void displayProgress(boolean loading) {
- if (DBG) log("displayProgress: " + loading);
-
- mEmptyText.setText(loading ? R.string.simContacts_emptyLoading:
- (isAirplaneModeOn(this) ? R.string.simContacts_airplaneMode :
- R.string.simContacts_empty));
- getWindow().setFeatureInt(
- Window.FEATURE_INDETERMINATE_PROGRESS,
- loading ? PROGRESS_VISIBILITY_ON : PROGRESS_VISIBILITY_OFF);
- }
-
- private static boolean isAirplaneModeOn(Context context) {
- return Settings.System.getInt(context.getContentResolver(),
- Settings.System.AIRPLANE_MODE_ON, 0) != 0;
- }
-
- private class QueryHandler extends AsyncQueryHandler {
- public QueryHandler(ContentResolver cr) {
- super(cr);
- }
-
- @Override
- protected void onQueryComplete(int token, Object cookie, Cursor c) {
- if (DBG) log("onQueryComplete: cursor.count=" + c.getCount());
- mCursor = c;
- setAdapter();
- displayProgress(false);
-
- // Cursor is refreshed and inherited classes may have menu items depending on it.
- invalidateOptionsMenu();
- }
-
- @Override
- protected void onInsertComplete(int token, Object cookie, Uri uri) {
- if (DBG) log("onInsertComplete: requery");
- reQuery();
- }
-
- @Override
- protected void onUpdateComplete(int token, Object cookie, int result) {
- if (DBG) log("onUpdateComplete: requery");
- reQuery();
- }
-
- @Override
- protected void onDeleteComplete(int token, Object cookie, int result) {
- if (DBG) log("onDeleteComplete: requery");
- reQuery();
- }
- }
-
- protected void log(String msg) {
- Log.d(TAG, "[ADNList] " + msg);
- }
-}