summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2015-07-01 14:28:13 -0700
committerYorke Lee <yorkelee@google.com>2015-07-01 15:56:01 -0700
commit2a613022dbb278f0f7dd94cf49885cde9d36100c (patch)
tree9cf82f7fff1e5431bb92dadfdbc8e3bfb3be3470
parent82d30284d32d2e563661ad0a1465c1b9bf501a9f (diff)
Restore Dialer content after permissions granted
First pass at making Dialer display the call log, favorites, all contacts, and contact search after permissions are granted withut having to restart the app. Update cached permission status in onResume for Dialer activities Update SpeedDialFragment to correctly initialize loader in onResume if it was null previously because of revoked permission. Bug: 22205650 Change-Id: I68982e69395bc9c7da84ff3221cd12b8f79005f9
-rw-r--r--src/com/android/dialer/CallDetailActivity.java2
-rw-r--r--src/com/android/dialer/DialtactsActivity.java2
-rw-r--r--src/com/android/dialer/calllog/CallLogActivity.java2
-rw-r--r--src/com/android/dialer/list/SpeedDialFragment.java7
4 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 734e78f46..ec92f3f94 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -47,6 +47,7 @@ import android.widget.Toast;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
+import com.android.contacts.common.util.PermissionsUtil;
import com.android.contacts.common.GeoUtil;
import com.android.contacts.common.CallUtil;
import com.android.dialer.calllog.CallDetailHistoryAdapter;
@@ -267,6 +268,7 @@ public class CallDetailActivity extends Activity
@Override
public void onResume() {
super.onResume();
+ PermissionsUtil.updateCachedPermissions(this);
getCallDetails();
}
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index b8a1d4dce..d1a687240 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -511,6 +511,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
protected void onResume() {
Trace.beginSection(TAG + " onResume");
super.onResume();
+
+ PermissionsUtil.updateCachedPermissions(this);
mStateSaved = false;
if (mFirstLaunch) {
displayFragment(getIntent());
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java
index d5444de8a..0f2f83860 100644
--- a/src/com/android/dialer/calllog/CallLogActivity.java
+++ b/src/com/android/dialer/calllog/CallLogActivity.java
@@ -35,6 +35,7 @@ import android.view.ViewGroup;
import com.android.contacts.common.interactions.TouchPointManager;
import com.android.contacts.common.list.ViewPagerTabs;
+import com.android.contacts.common.util.PermissionsUtil;
import com.android.contacts.commonbind.analytics.AnalyticsUtil;
import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;
@@ -150,6 +151,7 @@ public class CallLogActivity extends Activity implements ViewPager.OnPageChangeL
protected void onResume() {
mIsResumed = true;
super.onResume();
+ PermissionsUtil.updateCachedPermissions(this);
sendScreenViewForChildFragment(mViewPager.getCurrentItem());
}
diff --git a/src/com/android/dialer/list/SpeedDialFragment.java b/src/com/android/dialer/list/SpeedDialFragment.java
index 541cdf6e1..bf9575858 100644
--- a/src/com/android/dialer/list/SpeedDialFragment.java
+++ b/src/com/android/dialer/list/SpeedDialFragment.java
@@ -194,7 +194,12 @@ public class SpeedDialFragment extends Fragment implements OnItemClickListener,
super.onResume();
if (PermissionsUtil.hasContactsPermissions(getActivity())) {
- getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
+ if (getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE) == null) {
+ getLoaderManager().initLoader(LOADER_ID_CONTACT_TILE, null,
+ mContactTileLoaderListener);
+ } else {
+ getLoaderManager().getLoader(LOADER_ID_CONTACT_TILE).forceLoad();
+ }
}
Trace.endSection();
}