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

Commit 844a21e3 authored by Jason Chiu's avatar Jason Chiu Committed by Automerger Merge Worker
Browse files

Merge "Fix the highlight error after unfolding the device" into sc-v2-dev am: d4b1048d

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16440317

Change-Id: I8a94d8977bd583a59ddd4a658ca50fd6708c2684
parents 5302093d d4b1048d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -311,7 +311,7 @@ public class SettingsHomepageActivity extends FragmentActivity implements
    }

    private void launchDeepLinkIntentToRight() {
        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
        if (!mIsEmbeddingActivityEnabled) {
            return;
        }

+16 −4
Original line number Diff line number Diff line
@@ -19,12 +19,14 @@ package com.android.settings.homepage;
import static com.android.settings.search.actionbar.SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR;
import static com.android.settingslib.search.SearchIndexable.MOBILE;

import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;

import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -53,6 +55,7 @@ public class TopLevelSettings extends DashboardFragment implements
    private static final String SAVED_HIGHLIGHT_MIXIN = "highlight_mixin";
    private static final String PREF_KEY_SUPPORT = "top_level_support";

    private boolean mIsEmbeddingActivityEnabled;
    private TopLevelHighlightMixin mHighlightMixin;
    private boolean mFirstStarted = true;

@@ -122,7 +125,9 @@ public class TopLevelSettings extends DashboardFragment implements
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(getContext())) {
        mIsEmbeddingActivityEnabled =
                ActivityEmbeddingUtils.isEmbeddingActivityEnabled(getContext());
        if (!mIsEmbeddingActivityEnabled) {
            return;
        }

@@ -138,15 +143,23 @@ public class TopLevelSettings extends DashboardFragment implements
    public void onStart() {
        if (mFirstStarted) {
            mFirstStarted = false;
        } else if (!ActivityEmbeddingUtils.isTwoPaneResolution(getActivity())) {
        } else if (mIsEmbeddingActivityEnabled && isOnlyOneActivityInTask()
                && !ActivityEmbeddingUtils.isTwoPaneResolution(getActivity())) {
            // Set default highlight menu key for 1-pane homepage since it will show the placeholder
            // page once changing back to 2-pane.
            Log.i(TAG, "Set default menu key");
            setHighlightMenuKey(getString(SettingsHomepageActivity.DEFAULT_HIGHLIGHT_MENU_KEY),
                    /* scrollNeeded= */ false);
        }
        super.onStart();
    }

    private boolean isOnlyOneActivityInTask() {
        final ActivityManager.RunningTaskInfo taskInfo = getSystemService(ActivityManager.class)
                .getRunningTasks(1).get(0);
        return taskInfo.numActivities == 1;
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
@@ -225,8 +238,7 @@ public class TopLevelSettings extends DashboardFragment implements

    @Override
    protected RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) {
        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(getContext())
                || !(getActivity() instanceof SettingsHomepageActivity)) {
        if (!mIsEmbeddingActivityEnabled || !(getActivity() instanceof SettingsHomepageActivity)) {
            return super.onCreateAdapter(preferenceScreen);
        }
        return mHighlightMixin.onCreateAdapter(this, preferenceScreen);