Skip to content
This repository has been archived by the owner on Jun 8, 2024. It is now read-only.

Commit

Permalink
LaunchActivity: No Permission Mode Warning for Android 7.0+
Browse files Browse the repository at this point in the history
Signed-off-by: Fung Go <[email protected]>
  • Loading branch information
fython committed Jan 15, 2017
1 parent dcdca38 commit 7d6e324
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
13 changes: 11 additions & 2 deletions app/src/main/java/info/papdt/blackblub/ui/LaunchActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public class LaunchActivity extends Activity implements PopupMenu.OnMenuItemClic

private static final int OVERLAY_PERMISSION_REQ_CODE = 1001;

@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
mNightScreenSettings = NightScreenSettings.getInstance(getApplicationContext());
Expand Down Expand Up @@ -167,7 +168,11 @@ public void onStopTrackingTouch(DiscreteSeekBar seekBar) {
});

mModeText = (TextView) findViewById(R.id.mode_view);
mModeText.setText(getResources().getStringArray(R.array.mode_text)[mNightScreenSettings.getInt(NightScreenSettings.KEY_MODE, C.MODE_NO_PERMISSION)]);
int mode = mNightScreenSettings.getInt(NightScreenSettings.KEY_MODE, C.MODE_NO_PERMISSION);
mModeText.setText(getResources().getStringArray(R.array.mode_text)[mode]
+ ((mode == C.MODE_NO_PERMISSION && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
? " " + getString(R.string.mode_text_no_permission_warning)
: ""));
findViewById(R.id.mode_view_container).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Expand Down Expand Up @@ -273,6 +278,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
}

@SuppressLint("SetTextI18n")
private void applyNewMode(int targetMode) {
if (isRunning && targetMode != mNightScreenSettings.getInt(NightScreenSettings.KEY_MODE, C.MODE_NO_PERMISSION)) {
mSwitch.toggle();
Expand All @@ -284,7 +290,10 @@ public void run() {
}, 500);
}
mNightScreenSettings.putInt(NightScreenSettings.KEY_MODE, targetMode);
mModeText.setText(getResources().getStringArray(R.array.mode_text)[targetMode]);
mModeText.setText(getResources().getStringArray(R.array.mode_text)[targetMode]
+ ((targetMode == C.MODE_NO_PERMISSION && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
? " " + getString(R.string.mode_text_no_permission_warning)
: ""));
}

@Override
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@
<string name="mode_text_overlay_all">全覆盖模式</string>
<string name="mode_text_eyes_care">护眼模式</string>

<string name="mode_desc_no_permission">不需要任何权限,但无法覆盖锁定界面、状态栏和导航栏。而且在 Android 7.0 后的系统无法工作。</string>
<string name="mode_text_no_permission_warning">(可能无法工作)</string>

<string name="mode_desc_no_permission">不需要任何权限,但无法覆盖锁定界面、状态栏和导航栏。而且在 Android 7.0 后的系统可能无法工作。</string>
<string name="mode_desc_normal">推荐模式。这是最稳定的,尽管无法变暗导航栏且导致无法进行敏感操作(如手动安装应用、同意权限请求)。</string>
<string name="mode_desc_overlay_all">状态栏和导航栏都可以变暗,但在部分应用中会出现闪烁现象。</string>
<string name="mode_desc_eyes_care">接近于正常模式,可以过滤蓝光保护你的眼睛。</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
<string name="mode_text_overlay_all">全覆蓋模式</string>
<string name="mode_text_eyes_care">護眼模式</string>

<string name="mode_text_no_permission_warning">(可能無法工作)</string>

<string name="mode_desc_no_permission">不需要任何權限,但無法覆蓋鎖定介面、狀態欄與導航欄。而且在 Android 7.0 後的系統可能無法工作。</string>
<string name="mode_desc_normal">推薦模式。這是最穩定的,儘管無法變暗導航欄且導致無法進行敏感操作(如手動安裝應用程式、同意權限請求)。</string>
<string name="mode_desc_overlay_all">狀態欄與導航欄都可以變暗,但在部分應用程式中會出現閃爍現象。</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@
<string name="mode_text_overlay_all">Overlay System Mode</string>
<string name="mode_text_eyes_care">Eyes Care Mode</string>

<string name="mode_text_no_permission_warning">(May not work)</string>

<string name="mode_desc_no_permission">No permission is needed. But it cannot dim lockscreen, status bar or navigation bar. And it doesn\'t work in Android 7.0.</string>
<string name="mode_desc_normal">Recommended mode. It is stable, although it cannot dim navigation bar and prevent user from clicking \"Install\" or \"Allow\" in permission dialog.</string>
<string name="mode_desc_overlay_all">You can dim both status bar and navigation bar. However, it may make screen flashing in some apps.</string>
Expand Down

0 comments on commit 7d6e324

Please sign in to comment.