Fix issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
Make the receiver private. Also fix to correctly update when sync
status changes.
Change-Id: I35481bf5b473196b00427da4df49aa76f691d38b
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 34be57e..2c8cfe0 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -814,15 +814,15 @@
</intent-filter>
</activity>
- <receiver android:name=".widget.SettingsAppWidgetProvider" android:label="@string/gadget_title">
+ <receiver android:name=".widget.SettingsAppWidgetProvider"
+ android:label="@string/gadget_title" android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
<action android:name="android.location.PROVIDERS_CHANGED" />
- <!-- hack: using CLOSE_SYSTEM_DIALOGS to pick up (possible) sync changes -->
- <action android:name="android.intent.action.CLOSE_SYSTEM_DIALOGS" />
+ <action android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
</receiver>