Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a613022 authored by Yorke Lee's avatar Yorke Lee
Browse files

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
parent 82d30284
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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();
    }

+2 −0
Original line number Diff line number Diff line
@@ -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());
+2 −0
Original line number Diff line number Diff line
@@ -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());
    }

+6 −1
Original line number Diff line number Diff line
@@ -194,8 +194,13 @@ public class SpeedDialFragment extends Fragment implements OnItemClickListener,
        super.onResume();

        if (PermissionsUtil.hasContactsPermissions(getActivity())) {
            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();
    }