summaryrefslogtreecommitdiffstats
path: root/src/com/android/dialer/list/SpeedDialFragment.java
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2015-05-19 15:51:01 -0700
committerYorke Lee <yorkelee@google.com>2015-05-22 11:40:21 -0700
commitc16ea5ad67bf454158b364dec2f26c95a879c350 (patch)
treed711fcd0374d8d82102f81ad74d6f94cd75729d8 /src/com/android/dialer/list/SpeedDialFragment.java
parent5a194cd1f573d6c94a6b0e3e14cfabd69e42b856 (diff)
downloadandroid_packages_apps_Dialer-c16ea5ad67bf454158b364dec2f26c95a879c350.tar.gz
android_packages_apps_Dialer-c16ea5ad67bf454158b364dec2f26c95a879c350.tar.bz2
android_packages_apps_Dialer-c16ea5ad67bf454158b364dec2f26c95a879c350.zip
Handle runtime permissions in Dialer
Conditionally disable the following features if the required permissions are not available: 1) Display of all contacts 2) Display of speed dial 3) Caller ID in call log 4) Import/export contacts 5) Conversion of People.CONTENT_ITEM_TYPE and Phones.CONTENT_ITEM_TYPE into a phone number (via DIAL intent) 6) UndemoteOutgoingCallReceiver 7) Contact Search 8) Contact lookup in call detail activity 9) Nearby places search Bug: 20266292 Change-Id: I6d26902acb0eac407ae7bc18c11aa6ec57299506
Diffstat (limited to 'src/com/android/dialer/list/SpeedDialFragment.java')
-rw-r--r--src/com/android/dialer/list/SpeedDialFragment.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/com/android/dialer/list/SpeedDialFragment.java b/src/com/android/dialer/list/SpeedDialFragment.java
index e72b25059..541cdf6e1 100644
--- a/src/com/android/dialer/list/SpeedDialFragment.java
+++ b/src/com/android/dialer/list/SpeedDialFragment.java
@@ -23,7 +23,6 @@ import android.app.Fragment;
import android.app.LoaderManager;
import android.content.CursorLoader;
import android.content.Loader;
-import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
@@ -43,12 +42,12 @@ import android.widget.FrameLayout;
import android.widget.FrameLayout.LayoutParams;
import android.widget.ImageView;
import android.widget.ListView;
-import android.widget.RelativeLayout;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactTileLoaderFactory;
import com.android.contacts.common.list.ContactTileView;
import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
+import com.android.contacts.common.util.PermissionsUtil;
import com.android.dialer.R;
import com.android.dialer.util.DialerUtils;
@@ -194,7 +193,9 @@ public class SpeedDialFragment extends Fragment implements OnItemClickListener,
Trace.beginSection(TAG + " onResume");
super.onResume();
- getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
+ if (PermissionsUtil.hasContactsPermissions(getActivity())) {
+ getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
+ }
Trace.endSection();
}
@@ -286,7 +287,11 @@ public class SpeedDialFragment extends Fragment implements OnItemClickListener,
// Use initLoader() instead of restartLoader() to refraining unnecessary reload.
// This method call implicitly assures ContactTileLoaderListener's onLoadFinished() will
// be called, on which we'll check if "all" contacts should be reloaded again or not.
- getLoaderManager().initLoader(LOADER_ID_CONTACT_TILE, null, mContactTileLoaderListener);
+ if (PermissionsUtil.hasContactsPermissions(activity)) {
+ getLoaderManager().initLoader(LOADER_ID_CONTACT_TILE, null, mContactTileLoaderListener);
+ } else {
+ setEmptyViewVisibility(true);
+ }
}
/**