Optionally hide default keygaurd weather view
Bug: 274631066 Test: Manually checked relevant views on device Change-Id: I8bbcd1f15d3c01a2f02d93dc96c4cd6d7afaaf60
This commit is contained in:
@@ -154,6 +154,10 @@ interface ClockFaceEvents {
|
||||
val tickRate: ClockTickRate
|
||||
get() = ClockTickRate.PER_MINUTE
|
||||
|
||||
/** Call to check whether the clock consumes weather data */
|
||||
val hasCustomWeatherDataDisplay: Boolean
|
||||
get() = false
|
||||
|
||||
/** Region Darkness specific to the clock face */
|
||||
fun onRegionDarknessChanged(isDark: Boolean) {}
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
private final ContentObserver mShowWeatherObserver = new ContentObserver(null) {
|
||||
@Override
|
||||
public void onChange(boolean change) {
|
||||
setWeatherVisibility();
|
||||
setDateWeatherVisibility();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -236,7 +236,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
);
|
||||
|
||||
updateDoubleLineClock();
|
||||
setWeatherVisibility();
|
||||
setDateWeatherVisibility();
|
||||
|
||||
mKeyguardUnlockAnimationController.addKeyguardUnlockAnimationListener(
|
||||
mKeyguardUnlockAnimationListener);
|
||||
@@ -337,6 +337,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
}
|
||||
|
||||
mCurrentClockSize = clockSize;
|
||||
setDateWeatherVisibility();
|
||||
|
||||
ClockController clock = getClock();
|
||||
boolean appeared = mView.switchToClock(clockSize, animate);
|
||||
@@ -457,6 +458,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
|
||||
mClockEventController.setClock(clock);
|
||||
mView.setClock(clock, mStatusBarStateController.getState());
|
||||
setDateWeatherVisibility();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -478,11 +480,18 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
}
|
||||
}
|
||||
|
||||
private void setWeatherVisibility() {
|
||||
if (mWeatherView != null) {
|
||||
mUiExecutor.execute(
|
||||
() -> mWeatherView.setVisibility(
|
||||
mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE));
|
||||
private void setDateWeatherVisibility() {
|
||||
if (mDateWeatherView != null || mWeatherView != null) {
|
||||
mUiExecutor.execute(() -> {
|
||||
if (mDateWeatherView != null) {
|
||||
mDateWeatherView.setVisibility(
|
||||
clockHasCustomWeatherDataDisplay() ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
if (mWeatherView != null) {
|
||||
mWeatherView.setVisibility(
|
||||
mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -511,6 +520,17 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
}
|
||||
}
|
||||
|
||||
/** Returns true if the clock handles the display of weather information */
|
||||
private boolean clockHasCustomWeatherDataDisplay() {
|
||||
ClockController clock = getClock();
|
||||
if (clock == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ((mCurrentClockSize == LARGE) ? clock.getLargeClock() : clock.getSmallClock())
|
||||
.getEvents().getHasCustomWeatherDataDisplay();
|
||||
}
|
||||
|
||||
/** Gets the animations for the current clock. */
|
||||
@Nullable
|
||||
public ClockAnimations getClockAnimations() {
|
||||
|
||||
Reference in New Issue
Block a user