Loading AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="org.codeaurora.permission.POWER_OFF_ALARM" /> <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L --> <uses-permission Loading src/com/android/deskclock/DeskClock.java +24 −0 Original line number Diff line number Diff line Loading @@ -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 android.support.annotation.StringRes; Loading Loading @@ -49,6 +50,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; Loading Loading @@ -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); Loading @@ -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); Loading Loading @@ -463,6 +472,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. Loading Loading
AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="org.codeaurora.permission.POWER_OFF_ALARM" /> <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L --> <uses-permission Loading
src/com/android/deskclock/DeskClock.java +24 −0 Original line number Diff line number Diff line Loading @@ -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 android.support.annotation.StringRes; Loading Loading @@ -49,6 +50,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; Loading Loading @@ -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); Loading @@ -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); Loading Loading @@ -463,6 +472,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. Loading