Add the jank detection to Settings toggles

Add jank detection when click the following preferences,
 - SwitchPreference
   Single target, detect click in InstrumentedPreferenceFragment
 - PrimarySwitchPreference
   Two target, only detect click switch in switch's onClick()
 - MainSwitchPreference
   Single target, detect click in TogglePreferenceController
 - SettingsMainSwitchPreference
   Single target, detect click in its onSwitchChanged()

Bug: 230285829
Test: manual & robo tests
Change-Id: I97a13e05a601237b16cd2d903ba2fb6ec4a69a74
This commit is contained in:
Chaohui Wang
2022-05-06 01:17:20 +08:00
parent 72642fa03d
commit 692068d535
6 changed files with 46 additions and 4 deletions

View File

@@ -32,6 +32,7 @@ import androidx.preference.TwoStatePreference;
import com.android.settings.R;
import com.android.settings.widget.SettingsMainSwitchBar.OnBeforeCheckedChangeListener;
import com.android.settingslib.RestrictedPreferenceHelper;
import com.android.settingslib.core.instrumentation.SettingsJankMonitor;
import com.android.settingslib.widget.OnMainSwitchChangeListener;
import com.google.android.setupdesign.util.LayoutStyler;
@@ -153,6 +154,7 @@ public class SettingsMainSwitchPreference extends TwoStatePreference implements
@Override
public void onSwitchChanged(Switch switchView, boolean isChecked) {
super.setChecked(isChecked);
SettingsJankMonitor.detectToggleJank(getKey(), switchView);
}
/**