Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6eb183ba authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Android (Google) Code Review
Browse files

Merge "Optionally hide default keygaurd weather view" into udc-dev

parents a9228066 f22fbb7e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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) {}

+27 −7
Original line number Diff line number Diff line
@@ -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() {
    private void setDateWeatherVisibility() {
        if (mDateWeatherView != null || mWeatherView != null) {
            mUiExecutor.execute(() -> {
                if (mDateWeatherView != null) {
                    mDateWeatherView.setVisibility(
                            clockHasCustomWeatherDataDisplay() ? View.GONE : View.VISIBLE);
                }
                if (mWeatherView != null) {
            mUiExecutor.execute(
                    () -> mWeatherView.setVisibility(
                        mSmartspaceController.isWeatherEnabled() ? View.VISIBLE : View.GONE));
                    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() {