diff options
author | Yorke Lee <yorkelee@google.com> | 2015-05-19 15:51:01 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2015-05-22 11:40:21 -0700 |
commit | c16ea5ad67bf454158b364dec2f26c95a879c350 (patch) | |
tree | d711fcd0374d8d82102f81ad74d6f94cd75729d8 /src/com/android/dialer/list/SpeedDialFragment.java | |
parent | 5a194cd1f573d6c94a6b0e3e14cfabd69e42b856 (diff) | |
download | android_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.java | 13 |
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); + } } /** |