private static class FormatChangeObserver extends ContentObserver {
private WeakReference<ClockView> mClock;
private Context mContext;
public FormatChangeObserver(ClockView clock) {
super(new Handler());
mClock = new WeakReference<ClockView>(clock);
mContext = clock.getContext();
}
@Override
public void onChange(boolean selfChange) {
ClockView digitalClock = mClock.get();
if (digitalClock != null) {
digitalClock.setDateFormat();
digitalClock.updateTime();
} else {
try {
mContext.getContentResolver().unregisterContentObserver(this);
} catch (RuntimeException e) {
// Shouldn‘t happen
}
}
}
}