Protect calendar with app ops.
Change-Id: I9d6705b0fa5257434a825809ad46d422f2ee57cc
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2951087..52d9f0a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -34,6 +34,7 @@
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
<application android:label="@string/calendar_storage"
android:icon="@drawable/app_icon">
diff --git a/src/com/android/providers/calendar/CalendarProvider2.java b/src/com/android/providers/calendar/CalendarProvider2.java
index 35653e9..c37a3e8 100644
--- a/src/com/android/providers/calendar/CalendarProvider2.java
+++ b/src/com/android/providers/calendar/CalendarProvider2.java
@@ -20,6 +20,7 @@
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.OnAccountsUpdateListener;
+import android.app.AppOpsManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.ContentUris;
@@ -512,6 +513,7 @@
@Override
public boolean onCreate() {
super.onCreate();
+ setAppOps(AppOpsManager.OP_READ_CALENDAR, AppOpsManager.OP_WRITE_CALENDAR);
try {
return initialize();
} catch (RuntimeException e) {