Merge "[LE Audio] To add the vibrate when the scan is successful"
diff --git a/res/layout/reset_importance_button.xml b/res/layout/reset_importance_button.xml
deleted file mode 100644
index 6d023b9..0000000
--- a/res/layout/reset_importance_button.xml
+++ /dev/null
@@ -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>
\ No newline at end of file
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 19c1209..b1b9017 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -609,11 +609,9 @@
             android:title="@string/show_notification_channel_warnings"
             android:summary="@string/show_notification_channel_warnings_summary" />
 
-        <com.android.settingslib.widget.LayoutPreference
+        <Preference
             android:key="asst_importance_reset"
             android:title="@string/asst_importance_reset_title"
-            android:selectable="false"
-            android:layout="@layout/reset_importance_button"
             settings:controller="com.android.settings.notification.ImportanceResetPreferenceController" />
 
         <Preference
diff --git a/src/com/android/settings/notification/ImportanceResetPreferenceController.java b/src/com/android/settings/notification/ImportanceResetPreferenceController.java
index 3c66f1a..2d03f23 100644
--- a/src/com/android/settings/notification/ImportanceResetPreferenceController.java
+++ b/src/com/android/settings/notification/ImportanceResetPreferenceController.java
@@ -17,24 +17,20 @@
 package com.android.settings.notification;
 
 import android.content.Context;
-import android.view.View;
-import android.widget.Button;
+import android.text.TextUtils;
 import android.widget.Toast;
 
 import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.LayoutPreference;
 
-public class ImportanceResetPreferenceController extends BasePreferenceController implements
-        View.OnClickListener {
+public class ImportanceResetPreferenceController extends BasePreferenceController {
 
     public static final String KEY = "asst_importance_reset";
     private static final String TAG = "ResetImportanceButton";
 
     private NotificationBackend mBackend;
-    private Button mButton;
 
     public ImportanceResetPreferenceController(Context context, String key) {
         super(context, key);
@@ -47,19 +43,14 @@
     }
 
     @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        mButton = ((LayoutPreference) preference)
-                .findViewById(R.id.reset_importance_button);
-        mButton.setOnClickListener(this);
-    }
-
-    @Override
-    public void onClick(View v) {
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            return false;
+        }
         mBackend.resetNotificationImportance();
         Toast.makeText(mContext, R.string.reset_importance_completed, Toast.LENGTH_SHORT)
-                            .show();
+                .show();
+        return true;
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/notification/ImportanceResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ImportanceResetPreferenceControllerTest.java
index 1dfa65d..687ef74 100644
--- a/tests/robotests/src/com/android/settings/notification/ImportanceResetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ImportanceResetPreferenceControllerTest.java
@@ -26,10 +26,10 @@
 import android.content.Context;
 import android.view.View;
 
+import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -43,12 +43,11 @@
 @RunWith(RobolectricTestRunner.class)
 public class ImportanceResetPreferenceControllerTest {
 
-    private static final String KEY = "asst_importance_reset";
     private ImportanceResetPreferenceController mController;
 
     @Mock
     private PreferenceScreen mScreen;
-    private LayoutPreference mPreference;
+    private Preference mPreference;
     private Context mContext;
     @Mock
     private NotificationBackend mBackend;
@@ -58,9 +57,10 @@
         MockitoAnnotations.initMocks(this);
 
         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);
-        mController = new ImportanceResetPreferenceController(mContext, KEY);
+        mController = new ImportanceResetPreferenceController(mContext, "some_key");
         mController.displayPreference(mScreen);
 
         ReflectionHelpers.setField(mController, "mBackend", mBackend);
@@ -68,10 +68,7 @@
 
     @Test
     public void onClick_callReset() {
-        final View view = mPreference.findViewById(R.id.reset_importance_button);
-        mController.updateState(mPreference);
-        assertThat(view.getVisibility()).isEqualTo(View.VISIBLE);
-        view.performClick();
+        mController.handlePreferenceTreeClick(mPreference);
 
         verify(mBackend, times(1)).resetNotificationImportance();
     }