Apply banner message for night light page
Test: See the screen Bug: 173184155 Change-Id: I522b5fbc48bed05ff621d914ae8b38d291fceab5
This commit is contained in:
@@ -20,11 +20,9 @@
|
|||||||
android:title="@string/dark_ui_mode"
|
android:title="@string/dark_ui_mode"
|
||||||
settings:keywords="@string/keywords_dark_ui_mode">
|
settings:keywords="@string/keywords_dark_ui_mode">
|
||||||
|
|
||||||
<com.android.settingslib.widget.LayoutPreference
|
<com.android.settingslib.widget.BannerMessagePreference
|
||||||
android:key="dark_ui_location_off"
|
android:key="dark_ui_location_off"
|
||||||
android:selectable="false"
|
android:title="@string/twilight_mode_location_off_dialog_message"
|
||||||
android:layout="@layout/twilight_mode_location_off"
|
|
||||||
settings:allowDividerBelow="true"
|
|
||||||
settings:controller="com.android.settings.display.TwilightLocationPreferenceController"/>
|
settings:controller="com.android.settings.display.TwilightLocationPreferenceController"/>
|
||||||
|
|
||||||
<com.android.settingslib.widget.TopIntroPreference
|
<com.android.settingslib.widget.TopIntroPreference
|
||||||
|
@@ -20,12 +20,10 @@
|
|||||||
android:title="@string/night_display_title"
|
android:title="@string/night_display_title"
|
||||||
settings:keywords="@string/keywords_display_night_display">
|
settings:keywords="@string/keywords_display_night_display">
|
||||||
|
|
||||||
<com.android.settingslib.widget.LayoutPreference
|
<com.android.settingslib.widget.BannerMessagePreference
|
||||||
android:key="dark_ui_location_off"
|
android:key="dark_ui_location_off"
|
||||||
android:selectable="false"
|
android:title="@string/twilight_mode_location_off_dialog_message"
|
||||||
android:layout="@layout/twilight_mode_location_off"
|
settings:controller="com.android.settings.display.TwilightLocationPreferenceController"/>
|
||||||
settings:controller="com.android.settings.display.TwilightLocationPreferenceController"
|
|
||||||
settings:allowDividerBelow="true"/>
|
|
||||||
|
|
||||||
<com.android.settingslib.widget.TopIntroPreference
|
<com.android.settingslib.widget.TopIntroPreference
|
||||||
android:key="night_display_top_intro"
|
android:key="night_display_top_intro"
|
||||||
|
@@ -19,7 +19,6 @@ package com.android.settings.display;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
@@ -28,7 +27,7 @@ import com.android.settings.Settings;
|
|||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.BannerMessagePreference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller to take the user to location settings page
|
* Controller to take the user to location settings page
|
||||||
@@ -46,14 +45,14 @@ public class TwilightLocationPreferenceController extends BasePreferenceControll
|
|||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
final LayoutPreference preference = screen.findPreference(getPreferenceKey());
|
final BannerMessagePreference preference =
|
||||||
final View button = preference.findViewById(R.id.go_to_location_setting);
|
(BannerMessagePreference) screen.findPreference(getPreferenceKey());
|
||||||
button.setOnClickListener(v -> {
|
preference
|
||||||
mMetricsFeatureProvider.logClickedPreference(preference, getMetricsCategory());
|
.setPositiveButtonText(R.string.twilight_mode_launch_location)
|
||||||
final Intent intent = new Intent();
|
.setPositiveButtonOnClickListener(v -> {
|
||||||
intent.setClass(mContext, Settings.LocationSettingsActivity.class);
|
mMetricsFeatureProvider.logClickedPreference(preference, getMetricsCategory());
|
||||||
mContext.startActivity(intent);
|
launchLocationSettings();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -61,4 +60,10 @@ public class TwilightLocationPreferenceController extends BasePreferenceControll
|
|||||||
return mLocationManager.isLocationEnabled() ? CONDITIONALLY_UNAVAILABLE
|
return mLocationManager.isLocationEnabled() ? CONDITIONALLY_UNAVAILABLE
|
||||||
: AVAILABLE_UNSEARCHABLE;
|
: AVAILABLE_UNSEARCHABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void launchLocationSettings() {
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
intent.setClass(mContext, Settings.LocationSettingsActivity.class);
|
||||||
|
mContext.startActivity(intent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user