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

Commit c1d29390 authored by Isaac Katzenelson's avatar Isaac Katzenelson
Browse files

Update widget with home time changes

Bug: 7498378
Added an update broadcast when Home TZ is turn on/off or the time zone is changed.

Change-Id: Id447a5b12df49fbc494850af3f8a879e64c3458f
parent 5348f974
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -224,6 +224,10 @@ public class DigitalWidgetViewsFactory extends BroadcastReceiver implements Remo
            refreshAlarm(context, widget);
            refreshAlarm(context, widget);
            widgetManager.partiallyUpdateAppWidget(mId, widget);
            widgetManager.partiallyUpdateAppWidget(mId, widget);
        } else {
        } else {
            if (action.equals(Intent.ACTION_TIMEZONE_CHANGED)) {
                // refresh the list to make sure home time zone is displayed / removed.
                mReloadCitiesList = true;
            }
            // For any time change or locale change, refresh all
            // For any time change or locale change, refresh all
            widgetManager.notifyAppWidgetViewDataChanged(mId, R.id.digital_appwidget_listview);
            widgetManager.notifyAppWidgetViewDataChanged(mId, R.id.digital_appwidget_listview);
            RemoteViews widget =
            RemoteViews widget =
+11 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.deskclock;
package com.android.deskclock;


import android.app.ActionBar;
import android.app.ActionBar;
import android.content.Intent;
import android.content.res.Resources;
import android.content.res.Resources;
import android.media.AudioManager;
import android.media.AudioManager;
import android.os.Bundle;
import android.os.Bundle;
@@ -30,6 +31,8 @@ import android.text.format.DateUtils;
import android.view.Menu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem;


import com.android.deskclock.worldclock.Cities;

import java.util.TimeZone;
import java.util.TimeZone;


/**
/**
@@ -156,10 +159,12 @@ public class SettingsActivity extends PreferenceActivity
            final ListPreference listPref = (ListPreference) pref;
            final ListPreference listPref = (ListPreference) pref;
            final int idx = listPref.findIndexOfValue((String) newValue);
            final int idx = listPref.findIndexOfValue((String) newValue);
            listPref.setSummary(listPref.getEntries()[idx]);
            listPref.setSummary(listPref.getEntries()[idx]);
            notifyHomeTimeZoneChanged();
        } else if (KEY_AUTO_HOME_CLOCK.equals(pref.getKey())) {
        } else if (KEY_AUTO_HOME_CLOCK.equals(pref.getKey())) {
            boolean state =((CheckBoxPreference) pref).isChecked();
            boolean state =((CheckBoxPreference) pref).isChecked();
            Preference homeTimeZone = findPreference(KEY_HOME_TZ);
            Preference homeTimeZone = findPreference(KEY_HOME_TZ);
            homeTimeZone.setEnabled(!state);
            homeTimeZone.setEnabled(!state);
            notifyHomeTimeZoneChanged();
        } else if (KEY_VOLUME_BUTTONS.equals(pref.getKey())) {
        } else if (KEY_VOLUME_BUTTONS.equals(pref.getKey())) {
            final ListPreference listPref = (ListPreference) pref;
            final ListPreference listPref = (ListPreference) pref;
            final int idx = listPref.findIndexOfValue((String) newValue);
            final int idx = listPref.findIndexOfValue((String) newValue);
@@ -178,6 +183,12 @@ public class SettingsActivity extends PreferenceActivity
        }
        }
    }
    }


    private void notifyHomeTimeZoneChanged() {
        Intent i = new Intent(Cities.WORLDCLOCK_UPDATE_INTENT);
        sendBroadcast(i);
    }


    private void refresh() {
    private void refresh() {
        ListPreference listPref = (ListPreference) findPreference(KEY_AUTO_SILENCE);
        ListPreference listPref = (ListPreference) findPreference(KEY_AUTO_SILENCE);
        String delay = listPref.getValue();
        String delay = listPref.getValue();