Suppress shared axis transition on Brightness level

The brightness bar is a dialog activity. If the shared axis transition
is applied, we'll see an empty page appears with a seek bar on the top,
which is not ideal. Hence, suppress the transition to keep the original
behaviour.

Fixes: 189076430
Test: robotest and test on the brightness level
Change-Id: I1572c31f09d8c6bb3b2c906f6211ed9b97024439
This commit is contained in:
Yi-Ling Chuang
2021-05-24 18:15:01 +08:00
parent 8db5cb03eb
commit eed791e238
3 changed files with 46 additions and 3 deletions

View File

@@ -13,12 +13,15 @@
*/
package com.android.settings.display;
import static android.content.Intent.ACTION_SHOW_BRIGHTNESS_DIALOG;
import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MIN;
import static com.android.settingslib.display.BrightnessUtils.convertLinearToGammaFloat;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.ContentObserver;
import android.hardware.display.BrightnessInfo;
import android.hardware.display.DisplayManager;
@@ -31,6 +34,7 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.provider.Settings.System;
import android.service.vr.IVrManager;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -38,11 +42,13 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settingslib.core.AbstractPreferenceController;
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.core.lifecycle.events.OnStop;
import com.android.settingslib.transition.SettingsTransitionHelper;
import java.text.NumberFormat;
@@ -77,10 +83,12 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
private final DisplayListener mDisplayListener = new DisplayListener() {
@Override
public void onDisplayAdded(int displayId) {}
public void onDisplayAdded(int displayId) {
}
@Override
public void onDisplayRemoved(int displayId) {}
public void onDisplayRemoved(int displayId) {
}
@Override
public void onDisplayChanged(int displayId) {
@@ -140,6 +148,18 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
mDisplayManager.unregisterDisplayListener(mDisplayListener);
}
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
return false;
}
final Intent intent = new Intent(ACTION_SHOW_BRIGHTNESS_DIALOG);
intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
SettingsTransitionHelper.TransitionType.TRANSITION_NONE);
mContext.startActivity(intent);
return true;
}
private void updatedSummary(Preference preference) {
if (preference != null) {
preference.setSummary(NumberFormat.getPercentInstance().format(getCurrentBrightness()));