diff options
author | Mao Jinlong <jinlmao@codeaurora.org> | 2018-11-20 16:11:13 +0800 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2020-12-08 19:39:12 +0200 |
commit | a110ac9f05d5a06f3fde322949323886fd2e1f4e (patch) | |
tree | ca4eb9114710dbbe5cdcbd2f425c52a6d2aed5b5 | |
parent | f086ad892159ce412f667961080b033e38c5725e (diff) |
DeskClock: Use POWER_OFF_ALARM permission
Use POWER_OFF_ALARM permission to send set and cancel power off alarm
actions.
CRs-fixed: 2282053
Change-Id: I1a7984cb90db289d1bd7377963dbd28aa866eb10
-rw-r--r-- | AndroidManifest.xml | 1 | ||||
-rw-r--r-- | src/com/android/deskclock/DeskClock.java | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 958263c5c..e658a401b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -31,6 +31,7 @@ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" /> + <uses-permission android:name="org.codeaurora.permission.POWER_OFF_ALARM" /> <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L --> <uses-permission diff --git a/src/com/android/deskclock/DeskClock.java b/src/com/android/deskclock/DeskClock.java index a6a36628f..580e31201 100644 --- a/src/com/android/deskclock/DeskClock.java +++ b/src/com/android/deskclock/DeskClock.java @@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ValueAnimator; import android.content.Intent; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.KeyEvent; @@ -46,6 +47,7 @@ import com.android.deskclock.data.DataModel; import com.android.deskclock.data.DataModel.SilentSetting; import com.android.deskclock.data.OnSilentSettingsListener; import com.android.deskclock.events.Events; +import com.android.deskclock.LogUtils; import com.android.deskclock.provider.Alarm; import com.android.deskclock.uidata.TabListener; import com.android.deskclock.uidata.UiDataModel; @@ -128,6 +130,11 @@ public class DeskClock extends BaseActivity /** {@code true} when a settings change necessitates recreating this activity. */ private boolean mRecreateActivity; + private static final String PERMISSION_POWER_OFF_ALARM = + "org.codeaurora.permission.POWER_OFF_ALARM"; + + private static final int CODE_FOR_ALARM_PERMISSION = 1; + @Override public void onNewIntent(Intent newIntent) { super.onNewIntent(newIntent); @@ -143,6 +150,8 @@ public class DeskClock extends BaseActivity setContentView(R.layout.desk_clock); mSnackbarAnchor = findViewById(R.id.content); + checkPermissions(); + // Configure the toolbar. final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -462,6 +471,21 @@ public class DeskClock extends BaseActivity } } + private void checkPermissions() { + if (checkSelfPermission(PERMISSION_POWER_OFF_ALARM) + != PackageManager.PERMISSION_GRANTED) { + requestPermissions(new String[]{PERMISSION_POWER_OFF_ALARM}, CODE_FOR_ALARM_PERMISSION); + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, + String permissions[], int[] grantResults) { + if (requestCode == CODE_FOR_ALARM_PERMISSION){ + LogUtils.i("Power off alarm permission is granted."); + } + } + /** * Configure the {@link #mFragmentTabPager} and {@link #mTabLayout} to display UiDataModel's * selected tab. |