Drop binder identity before setting widget provider refresh alarm

Bug 25607336

Change-Id: I645b79c01206baa548d1d58cf9712ac1768e3b5b
This commit is contained in:
Christopher Tate
2015-11-12 16:21:05 -08:00
parent 14c040bdd9
commit 67507d9f9d

View File

@@ -79,10 +79,11 @@ import com.android.internal.os.SomeArgs;
import com.android.internal.util.FastXmlSerializer;
import com.android.internal.widget.IRemoteViewsAdapterConnection;
import com.android.internal.widget.IRemoteViewsFactory;
import com.android.server.LocalServices;
import com.android.server.WidgetBackupProvider;
import libcore.io.IoUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlSerializer;
@@ -1954,8 +1955,13 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
if (period < MIN_UPDATE_PERIOD) {
period = MIN_UPDATE_PERIOD;
}
mAlarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + period, period, provider.broadcast);
final long oldId = Binder.clearCallingIdentity();
try {
mAlarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + period, period, provider.broadcast);
} finally {
Binder.restoreCallingIdentity(oldId);
}
}
}
}