diff options
Diffstat (limited to 'java/com/android/dialer/app/dialpad')
-rw-r--r-- | java/com/android/dialer/app/dialpad/DialpadFragment.java | 7 | ||||
-rw-r--r-- | java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java | 41 |
2 files changed, 28 insertions, 20 deletions
diff --git a/java/com/android/dialer/app/dialpad/DialpadFragment.java b/java/com/android/dialer/app/dialpad/DialpadFragment.java index 271f62199..a0c348424 100644 --- a/java/com/android/dialer/app/dialpad/DialpadFragment.java +++ b/java/com/android/dialer/app/dialpad/DialpadFragment.java @@ -69,7 +69,6 @@ import android.widget.ListView; import android.widget.PopupMenu; import android.widget.RelativeLayout; import android.widget.TextView; -import com.android.contacts.common.GeoUtil; import com.android.contacts.common.dialog.CallSubjectDialog; import com.android.contacts.common.util.StopWatch; import com.android.contacts.common.widget.FloatingActionButtonController; @@ -84,6 +83,7 @@ import com.android.dialer.calllogutils.PhoneAccountUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.dialpadview.DialpadKeyButton; import com.android.dialer.dialpadview.DialpadView; +import com.android.dialer.location.GeoUtil; import com.android.dialer.proguard.UsedByReflection; import com.android.dialer.telecom.TelecomUtil; import com.android.dialer.util.CallUtil; @@ -1189,7 +1189,6 @@ public class DialpadFragment extends Fragment // Just call 'scaleIn()' method if the mFloatingActionButtonController was not already // previously visible. mFloatingActionButtonController.scaleIn(0); - mFloatingActionButtonController.setVisible(true); } mDialpadChooser.setVisibility(View.GONE); } @@ -1410,10 +1409,10 @@ public class DialpadFragment extends Fragment public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); final DialtactsActivity activity = (DialtactsActivity) getActivity(); - final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view); - if (activity == null) { + if (activity == null || getView() == null) { return; } + final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view); if (!hidden && !isDialpadChooserVisible()) { if (mAnimate) { dialpadView.animateShow(); diff --git a/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java b/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java index f3a93f916..2e3b0cf92 100644 --- a/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java +++ b/java/com/android/dialer/app/dialpad/SmartDialCursorLoader.java @@ -17,11 +17,14 @@ package com.android.dialer.app.dialpad; import android.content.AsyncTaskLoader; +import android.content.BroadcastReceiver; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.database.Cursor; import android.database.MatrixCursor; -import android.util.Log; import com.android.contacts.common.list.PhoneNumberListAdapter.PhoneQuery; +import com.android.dialer.common.LogUtil; import com.android.dialer.database.Database; import com.android.dialer.database.DialerDatabaseHelper; import com.android.dialer.database.DialerDatabaseHelper.ContactNumber; @@ -43,7 +46,7 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { private String mQuery; private SmartDialNameMatcher mNameMatcher; - private ForceLoadContentObserver mObserver; + private BroadcastReceiver mSmartDialUpdatedReceiver; private boolean mShowEmptyListForNullQuery = true; @@ -59,7 +62,7 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { */ public void configureQuery(String query) { if (DEBUG) { - Log.v(TAG, "Configure new query to be " + query); + LogUtil.v(TAG, "Configure new query to be " + query); } mQuery = SmartDialNameMatcher.normalizeNumber(query, SmartDialPrefix.getMap()); @@ -76,7 +79,7 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { @Override public Cursor loadInBackground() { if (DEBUG) { - Log.v(TAG, "Load in background " + mQuery); + LogUtil.v(TAG, "Load in background " + mQuery); } if (!PermissionsUtil.hasContactsPermissions(mContext)) { @@ -90,7 +93,7 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { dialerDatabaseHelper.getLooseMatches(mQuery, mNameMatcher); if (DEBUG) { - Log.v(TAG, "Loaded matches " + String.valueOf(allMatches.size())); + LogUtil.v(TAG, "Loaded matches " + allMatches.size()); } /** Constructs a cursor for the returned array of results. */ @@ -121,11 +124,17 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { Cursor oldCursor = mCursor; mCursor = cursor; - if (mObserver == null) { - mObserver = new ForceLoadContentObserver(); - mContext - .getContentResolver() - .registerContentObserver(DialerDatabaseHelper.SMART_DIAL_UPDATED_URI, true, mObserver); + if (mSmartDialUpdatedReceiver == null) { + mSmartDialUpdatedReceiver = + new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + onContentChanged(); + } + }; + mContext.registerReceiver( + mSmartDialUpdatedReceiver, + new IntentFilter(DialerDatabaseHelper.ACTION_SMART_DIAL_UPDATED)); } if (isStarted()) { @@ -162,9 +171,9 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { /** Ensure the loader has been stopped. */ onStopLoading(); - if (mObserver != null) { - mContext.getContentResolver().unregisterContentObserver(mObserver); - mObserver = null; + if (mSmartDialUpdatedReceiver != null) { + mContext.unregisterReceiver(mSmartDialUpdatedReceiver); + mSmartDialUpdatedReceiver = null; } /** Release all previously saved query results. */ @@ -178,9 +187,9 @@ public class SmartDialCursorLoader extends AsyncTaskLoader<Cursor> { public void onCanceled(Cursor cursor) { super.onCanceled(cursor); - if (mObserver != null) { - mContext.getContentResolver().unregisterContentObserver(mObserver); - mObserver = null; + if (mSmartDialUpdatedReceiver != null) { + mContext.unregisterReceiver(mSmartDialUpdatedReceiver); + mSmartDialUpdatedReceiver = null; } /** The load has been canceled, so we should release the resources associated with 'data'. */ |