Merge "Amend "Reset notification importance" list item style"
This commit is contained in:
@@ -1,33 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
~ Copyright (C) 2020 The Android Open Source Project
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/reset_importance_button"
|
|
||||||
style="@style/ActionPrimaryButton"
|
|
||||||
android:layout_marginStart="@dimen/screen_margin_sides"
|
|
||||||
android:text="@string/asst_importance_reset_title"
|
|
||||||
android:layout_gravity="start"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
@@ -609,11 +609,9 @@
|
|||||||
android:title="@string/show_notification_channel_warnings"
|
android:title="@string/show_notification_channel_warnings"
|
||||||
android:summary="@string/show_notification_channel_warnings_summary" />
|
android:summary="@string/show_notification_channel_warnings_summary" />
|
||||||
|
|
||||||
<com.android.settingslib.widget.LayoutPreference
|
<Preference
|
||||||
android:key="asst_importance_reset"
|
android:key="asst_importance_reset"
|
||||||
android:title="@string/asst_importance_reset_title"
|
android:title="@string/asst_importance_reset_title"
|
||||||
android:selectable="false"
|
|
||||||
android:layout="@layout/reset_importance_button"
|
|
||||||
settings:controller="com.android.settings.notification.ImportanceResetPreferenceController" />
|
settings:controller="com.android.settings.notification.ImportanceResetPreferenceController" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
@@ -17,24 +17,20 @@
|
|||||||
package com.android.settings.notification;
|
package com.android.settings.notification;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.View;
|
import android.text.TextUtils;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
|
||||||
|
|
||||||
public class ImportanceResetPreferenceController extends BasePreferenceController implements
|
public class ImportanceResetPreferenceController extends BasePreferenceController {
|
||||||
View.OnClickListener {
|
|
||||||
|
|
||||||
public static final String KEY = "asst_importance_reset";
|
public static final String KEY = "asst_importance_reset";
|
||||||
private static final String TAG = "ResetImportanceButton";
|
private static final String TAG = "ResetImportanceButton";
|
||||||
|
|
||||||
private NotificationBackend mBackend;
|
private NotificationBackend mBackend;
|
||||||
private Button mButton;
|
|
||||||
|
|
||||||
public ImportanceResetPreferenceController(Context context, String key) {
|
public ImportanceResetPreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
@@ -47,19 +43,14 @@ public class ImportanceResetPreferenceController extends BasePreferenceControlle
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||||
super.updateState(preference);
|
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
|
||||||
|
return false;
|
||||||
mButton = ((LayoutPreference) preference)
|
}
|
||||||
.findViewById(R.id.reset_importance_button);
|
|
||||||
mButton.setOnClickListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
mBackend.resetNotificationImportance();
|
mBackend.resetNotificationImportance();
|
||||||
Toast.makeText(mContext, R.string.reset_importance_completed, Toast.LENGTH_SHORT)
|
Toast.makeText(mContext, R.string.reset_importance_completed, Toast.LENGTH_SHORT)
|
||||||
.show();
|
.show();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -26,10 +26,10 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -43,12 +43,11 @@ import org.robolectric.util.ReflectionHelpers;
|
|||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class ImportanceResetPreferenceControllerTest {
|
public class ImportanceResetPreferenceControllerTest {
|
||||||
|
|
||||||
private static final String KEY = "asst_importance_reset";
|
|
||||||
private ImportanceResetPreferenceController mController;
|
private ImportanceResetPreferenceController mController;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
private LayoutPreference mPreference;
|
private Preference mPreference;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@Mock
|
@Mock
|
||||||
private NotificationBackend mBackend;
|
private NotificationBackend mBackend;
|
||||||
@@ -58,9 +57,10 @@ public class ImportanceResetPreferenceControllerTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mPreference = new LayoutPreference(mContext, R.layout.reset_importance_button);
|
mPreference = new Preference(mContext);
|
||||||
|
mPreference.setKey(ImportanceResetPreferenceController.KEY);
|
||||||
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
|
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
|
||||||
mController = new ImportanceResetPreferenceController(mContext, KEY);
|
mController = new ImportanceResetPreferenceController(mContext, "some_key");
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||||
@@ -68,10 +68,7 @@ public class ImportanceResetPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onClick_callReset() {
|
public void onClick_callReset() {
|
||||||
final View view = mPreference.findViewById(R.id.reset_importance_button);
|
mController.handlePreferenceTreeClick(mPreference);
|
||||||
mController.updateState(mPreference);
|
|
||||||
assertThat(view.getVisibility()).isEqualTo(View.VISIBLE);
|
|
||||||
view.performClick();
|
|
||||||
|
|
||||||
verify(mBackend, times(1)).resetNotificationImportance();
|
verify(mBackend, times(1)).resetNotificationImportance();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user