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

Commit a5715f7d authored by tmfang's avatar tmfang Committed by android-build-merger
Browse files

Fix overlapping problem on notification screen

am: 564fcb90

Change-Id: I4843fe2b835b5487695ccb522848127028042d4c
parents 9eaf5de9 564fcb90
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -25,13 +25,14 @@ import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.view.View;

import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;

import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.LayoutPreference;
@@ -39,11 +40,11 @@ import com.android.settingslib.widget.LayoutPreference;
public class HeaderPreferenceController extends NotificationPreferenceController
        implements PreferenceControllerMixin, LifecycleObserver {

    private final PreferenceFragmentCompat mFragment;
    private final DashboardFragment mFragment;
    private EntityHeaderController mHeaderController;
    private boolean mStarted = false;

    public HeaderPreferenceController(Context context, PreferenceFragmentCompat fragment) {
    public HeaderPreferenceController(Context context, DashboardFragment fragment) {
        super(context, null);
        mFragment = fragment;
    }
@@ -83,18 +84,12 @@ public class HeaderPreferenceController extends NotificationPreferenceController
                    .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
                            EntityHeaderController.ActionType.ACTION_NONE)
                    .setHasAppInfoLink(true)
                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
                    .done(activity, mContext);
            pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
        }
    }

    CharSequence getLabel() {
        return (mChannel != null && !isDefaultChannel()) ? mChannel.getName()
                : mChannelGroup != null
                        ? mChannelGroup.getName()
                        : mAppRow.label;
    }

    @Override
    public CharSequence getSummary() {
        if (mChannel != null && !isDefaultChannel()) {
@@ -124,4 +119,12 @@ public class HeaderPreferenceController extends NotificationPreferenceController
            mHeaderController.styleActionBar(mFragment.getActivity());
        }
    }

    @VisibleForTesting
    CharSequence getLabel() {
        return (mChannel != null && !isDefaultChannel()) ? mChannel.getName()
                : mChannelGroup != null
                        ? mChannelGroup.getName()
                        : mAppRow.label;
    }
}
+2 −3
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import static android.app.NotificationManager.IMPORTANCE_NONE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -35,8 +34,8 @@ import android.os.UserManager;
import android.view.View;

import androidx.fragment.app.FragmentActivity;
import androidx.preference.PreferenceFragmentCompat;

import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.widget.LayoutPreference;

import org.junit.Before;
@@ -70,7 +69,7 @@ public class HeaderPreferenceControllerTest {
        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
        mContext = RuntimeEnvironment.application;
        PreferenceFragmentCompat fragment = mock(PreferenceFragmentCompat.class);
        DashboardFragment fragment = mock(DashboardFragment.class);
        when(fragment.getContext()).thenReturn(mContext);
        FragmentActivity activity = mock(FragmentActivity.class);
        when(activity.getApplicationContext()).thenReturn(mContext);