Merge "Fix inconsist color filling on collapsing toolbar" into sc-dev
diff --git a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
index c9f0e31..285493a 100644
--- a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
@@ -29,11 +29,10 @@
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.widget.LayoutPreference;
public class AppHeaderViewPreferenceController extends BasePreferenceController
- implements AppInfoDashboardFragment.Callback, LifecycleObserver, OnStart {
+ implements AppInfoDashboardFragment.Callback, LifecycleObserver {
private static final String KEY_HEADER = "header_view";
@@ -67,6 +66,7 @@
final Activity activity = mParent.getActivity();
mEntityHeaderController = EntityHeaderController
.newInstance(activity, mParent, mHeader.findViewById(R.id.entity_header))
+ .setRecyclerView(mParent.getListView(), mLifecycle)
.setPackageName(mPackageName)
.setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
EntityHeaderController.ActionType.ACTION_NONE)
@@ -74,13 +74,6 @@
}
@Override
- public void onStart() {
- mEntityHeaderController
- .setRecyclerView(mParent.getListView(), mLifecycle)
- .styleActionBar(mParent.getActivity());
- }
-
- @Override
public void refreshUi() {
setAppLabelAndIcon(mParent.getPackageInfo(), mParent.getAppEntry());
}
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
index 1144f12..8ccf7ed 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
@@ -25,7 +25,6 @@
import android.view.View;
import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -36,7 +35,6 @@
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.LayoutPreference;
public class HeaderPreferenceController extends BasePreferenceController
@@ -127,11 +125,4 @@
.done(mFragment.getActivity(), mContext);
pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
}
-
- @OnLifecycleEvent(Lifecycle.Event.ON_START)
- public void onStart() {
- if (mHeaderController != null) {
- mHeaderController.styleActionBar(mFragment.getActivity());
- }
- }
}
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
index bc47e5e..ac1e1ad 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
@@ -179,7 +179,6 @@
}
RecyclerView view = mFragment.getListView();
mEntityHeaderController.setRecyclerView(view, mLifecycle);
- mEntityHeaderController.styleActionBar((Activity) mContext);
}
@VisibleForTesting
diff --git a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
index 73659b8..f99a56a 100644
--- a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
@@ -122,9 +122,6 @@
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
mStarted = true;
- if (mHeaderController != null) {
- mHeaderController.styleActionBar(mFragment.getActivity());
- }
}
@VisibleForTesting
diff --git a/src/com/android/settings/notification/app/HeaderPreferenceController.java b/src/com/android/settings/notification/app/HeaderPreferenceController.java
index 4e9c039..974ac79 100644
--- a/src/com/android/settings/notification/app/HeaderPreferenceController.java
+++ b/src/com/android/settings/notification/app/HeaderPreferenceController.java
@@ -121,9 +121,6 @@
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
mStarted = true;
- if (mHeaderController != null) {
- mHeaderController.styleActionBar(mFragment.getActivity());
- }
}
@VisibleForTesting
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 91a20b3..791d6ca 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -18,15 +18,12 @@
import android.annotation.IdRes;
import android.annotation.UserIdInt;
-import android.app.ActionBar;
import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
-import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
-import android.os.Bundle;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.Log;
@@ -48,7 +45,6 @@
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.ActionBarShadowController;
import com.android.settingslib.widget.LayoutPreference;
import java.lang.annotation.Retention;
@@ -244,7 +240,6 @@
* Done mutating entity header, rebinds everything (optionally skip rebinding buttons).
*/
public View done(Activity activity, boolean rebindActions) {
- styleActionBar(activity);
ImageView iconView = mHeader.findViewById(R.id.entity_header_icon);
if (iconView != null) {
iconView.setImageDrawable(mIcon);
@@ -303,32 +298,6 @@
}
/**
- * Styles the action bar (elevation, scrolling behaviors, color, etc).
- * <p/>
- * This method must be called after {@link Fragment#onCreate(Bundle)}.
- */
- public EntityHeaderController styleActionBar(Activity activity) {
- if (activity == null) {
- Log.w(TAG, "No activity, cannot style actionbar.");
- return this;
- }
- final ActionBar actionBar = activity.getActionBar();
- if (actionBar == null) {
- Log.w(TAG, "No actionbar, cannot style actionbar.");
- return this;
- }
- actionBar.setBackgroundDrawable(
- new ColorDrawable(
- Utils.getColorAttrDefaultColor(activity, android.R.attr.colorPrimaryDark)));
- actionBar.setElevation(0);
- if (mRecyclerView != null && mLifecycle != null) {
- ActionBarShadowController.attachToView(mActivity, mLifecycle, mRecyclerView);
- }
-
- return this;
- }
-
- /**
* Done mutating entity header, rebinds everything.
*/
@VisibleForTesting
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
index 6684e1a..c5ed459 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
@@ -16,23 +16,16 @@
package com.android.settings.applications.appinfo;
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
-
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
-import android.app.ActionBar;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
-import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
@@ -116,18 +109,4 @@
assertThat(title).isNotNull();
assertThat(title.getText()).isEqualTo(appLabel);
}
-
- @Test
- public void onStart_shouldStyleActionBar() {
- final ActionBar actionBar = mock(ActionBar.class);
- when(mActivity.getActionBar()).thenReturn(actionBar);
-
- mController.displayPreference(mScreen);
-
- verifyZeroInteractions(actionBar);
-
- mLifecycle.handleLifecycleEvent(ON_START);
-
- verify(actionBar).setBackgroundDrawable(any(Drawable.class));
- }
}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
index 6a7f237..71d5d7e 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
@@ -29,7 +29,6 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -386,7 +385,6 @@
verify(mHeaderController)
.setRecyclerView(any(RecyclerView.class), any(Lifecycle.class));
- verify(mHeaderController).styleActionBar(any(Activity.class));
}
private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index e36a831..6313da2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -17,13 +17,9 @@
package com.android.settings.fuelgauge;
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
-
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -41,7 +37,6 @@
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
-import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -284,17 +279,6 @@
}
@Test
- public void onStart_shouldStyleActionBar() {
- when(mEntityHeaderController.setRecyclerView(nullable(RecyclerView.class), eq(mLifecycle)))
- .thenReturn(mEntityHeaderController);
-
- mController.displayPreference(mPreferenceScreen);
- mLifecycle.handleLifecycleEvent(ON_START);
-
- verify(mEntityHeaderController).styleActionBar(mActivity);
- }
-
- @Test
public void quickUpdateHeaderPreference_onlyUpdateBatteryLevelAndChargingState() {
mController.quickUpdateHeaderPreference();
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index f73d0f7..cac1b34 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -26,13 +26,11 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.ActionBar;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo;
-import android.graphics.drawable.ColorDrawable;
import android.os.UserHandle;
import android.view.LayoutInflater;
import android.view.View;
@@ -303,30 +301,6 @@
}
@Test
- public void styleActionBar_invalidObjects_shouldNotCrash() {
- mController = EntityHeaderController.newInstance(mActivity, mFragment, null);
- mController.styleActionBar(null);
-
- when(mActivity.getActionBar()).thenReturn(null);
- mController.styleActionBar(mActivity);
-
- verify(mActivity).getActionBar();
- }
-
- @Test
- public void styleActionBar_setElevationAndBackground() {
- final ActionBar actionBar = mActivity.getActionBar();
-
- mController = EntityHeaderController.newInstance(mActivity, mFragment, null);
- mController.styleActionBar(mActivity);
-
- verify(actionBar).setElevation(0);
- // Enforce a color drawable as background here, as image based drawables might not be
- // wide enough to cover entire action bar.
- verify(actionBar).setBackgroundDrawable(any(ColorDrawable.class));
- }
-
- @Test
public void initAppHeaderController_appHeaderNull_useFragmentContext() {
mController = EntityHeaderController.newInstance(mActivity, mFragment, null);