diff options
| author | Mao Jinlong <jinlmao@codeaurora.org> | 2018-11-20 16:11:13 +0800 |
|---|---|---|
| committer | mosimchah <mosimchah@gmail.com> | 2019-11-01 08:19:26 +0100 |
| commit | 7642047c12799b60896594c6ff0cdbc08829fb17 (patch) | |
| tree | 6d3ecc680dcfccd2faf6ecc43cd0c108c0f1af8a | |
| parent | e2c8f1d94c8328f3ff7631991c771cd49cae824c (diff) | |
DeskClock: Use POWER_OFF_ALARM permissionq10.0-r9rebase
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 3255bb7a3..a9e472c56 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -30,6 +30,7 @@ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> + <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 e53fbebb6..15d75b97c 100644 --- a/src/com/android/deskclock/DeskClock.java +++ b/src/com/android/deskclock/DeskClock.java @@ -22,6 +22,7 @@ import android.animation.AnimatorSet; import android.animation.ValueAnimator; import android.app.Fragment; import android.content.Intent; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Bundle; import androidx.annotation.StringRes; @@ -48,6 +49,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; @@ -127,6 +129,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); @@ -142,6 +149,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); @@ -461,6 +470,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. |
