DO NOT MERGE: Disable StrictMode VM Policy check.
Disable the VM policy violation for intents that contain a content URI
but don't have FLAG_GRANT_URI_PERMISSION when scheduling alarms.
Fixes: 160426113
Test: atest CalendarProvider2Test
Change-Id: If6e4a03609fc3d03dde66bcaa3136b23662ccaeb
(cherry picked from commit 224822ecaf)
This commit is contained in:
@@ -39,6 +39,7 @@ import android.database.Cursor;
|
|||||||
import android.database.DatabaseUtils;
|
import android.database.DatabaseUtils;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
|
import android.os.StrictMode;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.format.TimeMigrationUtils;
|
import android.text.format.TimeMigrationUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -2618,7 +2619,13 @@ public final class CalendarContract {
|
|||||||
intent.setData(ContentUris.withAppendedId(CalendarContract.CONTENT_URI, alarmTime));
|
intent.setData(ContentUris.withAppendedId(CalendarContract.CONTENT_URI, alarmTime));
|
||||||
intent.putExtra(ALARM_TIME, alarmTime);
|
intent.putExtra(ALARM_TIME, alarmTime);
|
||||||
intent.setFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
|
intent.setFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
|
||||||
|
|
||||||
|
// Disable strict mode VM policy violations temporarily for intents that contain a
|
||||||
|
// content URI but don't have FLAG_GRANT_READ_URI_PERMISSION.
|
||||||
|
StrictMode.VmPolicy oldVmPolicy = StrictMode.allowVmViolations();
|
||||||
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
|
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
|
||||||
|
StrictMode.setVmPolicy(oldVmPolicy);
|
||||||
|
|
||||||
manager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmTime, pi);
|
manager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmTime, pi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user