From 9c77ce86536426aa8a6ab2341bef7cc707da4506 Mon Sep 17 00:00:00 2001 From: bruh Date: Tue, 4 Oct 2022 20:33:44 +0700 Subject: [PATCH 01/61] new widget design --- .../flashy/FlashlightWidgetProvider.java | 4 ++-- app/src/main/res/drawable/flashlight_off.xml | 9 +++++++++ app/src/main/res/drawable/flashlight_on.xml | 9 +++++++++ app/src/main/res/layout/widget_flashlight.xml | 17 +++++++++++------ 4 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/drawable/flashlight_off.xml create mode 100644 app/src/main/res/drawable/flashlight_on.xml diff --git a/app/src/main/java/com/poopjournal/flashy/FlashlightWidgetProvider.java b/app/src/main/java/com/poopjournal/flashy/FlashlightWidgetProvider.java index 48ee8e1..f1f19cf 100644 --- a/app/src/main/java/com/poopjournal/flashy/FlashlightWidgetProvider.java +++ b/app/src/main/java/com/poopjournal/flashy/FlashlightWidgetProvider.java @@ -34,9 +34,9 @@ public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] a } else { preferences = context.getSharedPreferences("my_prefs", MODE_PRIVATE); if (preferences.getBoolean("flash_enabled", false)) { - remoteViews.setImageViewResource(R.id.img, R.drawable.flash_icon); + remoteViews.setImageViewResource(R.id.img, R.drawable.flashlight_on); } else - remoteViews.setImageViewResource(R.id.img, R.drawable.flash_icon_inactive); + remoteViews.setImageViewResource(R.id.img, R.drawable.flashlight_off); Intent intent = new Intent(context, FlashlightWidgetProvider.class) .setAction(ACTION_TOGGLE); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 69, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); diff --git a/app/src/main/res/drawable/flashlight_off.xml b/app/src/main/res/drawable/flashlight_off.xml new file mode 100644 index 0000000..dd33422 --- /dev/null +++ b/app/src/main/res/drawable/flashlight_off.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/flashlight_on.xml b/app/src/main/res/drawable/flashlight_on.xml new file mode 100644 index 0000000..665680e --- /dev/null +++ b/app/src/main/res/drawable/flashlight_on.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/widget_flashlight.xml b/app/src/main/res/layout/widget_flashlight.xml index 780dd2c..95afe71 100644 --- a/app/src/main/res/layout/widget_flashlight.xml +++ b/app/src/main/res/layout/widget_flashlight.xml @@ -1,14 +1,19 @@ + android:layout_height="match_parent"> + android:src="@drawable/bg_option_circle"/> + + \ No newline at end of file From ce1e2af2512f59b9f52a24bc02258de777785e22 Mon Sep 17 00:00:00 2001 From: bruh Date: Tue, 4 Oct 2022 21:03:29 +0700 Subject: [PATCH 02/61] fix qs tile for real this time --- .../main/java/com/poopjournal/flashy/QSTileService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/com/poopjournal/flashy/QSTileService.java b/app/src/main/java/com/poopjournal/flashy/QSTileService.java index ff8517a..cd8c881 100644 --- a/app/src/main/java/com/poopjournal/flashy/QSTileService.java +++ b/app/src/main/java/com/poopjournal/flashy/QSTileService.java @@ -32,6 +32,14 @@ public void onCreate() { preferences.registerOnSharedPreferenceChangeListener(listener); } + @Override + public void onStartListening() { + super.onStartListening(); + getQsTile().setState(preferences.getBoolean("flash_enabled", false) ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE); + getQsTile().updateTile(); + Utils.updateWidgets(this); + } + @Override public void onTileAdded() { super.onTileAdded(); From 21c2771a8b570ba2161d10ba91fec152eafafe5a Mon Sep 17 00:00:00 2001 From: metezd Date: Mon, 3 Oct 2022 14:19:53 +0000 Subject: [PATCH 03/61] Translated using Weblate (Turkish) Currently translated at 100.0% (4 of 4 strings) Translation: Flashy/Flashy Translate-URL: https://hosted.weblate.org/projects/flashy/flashy/tr/ --- app/src/main/res/values-tr/strings.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index a6b3dae..5263575 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1,2 +1,7 @@ - \ No newline at end of file + + El feneri + Kamera yok + Kameraya erişilemiyor, acaba başka bir uygulama tarafından mı kullanılıyor\? + Göz Kamaştırıcı + \ No newline at end of file From 0b8d66ac68864e9aa30e6583b37e647161ff3da5 Mon Sep 17 00:00:00 2001 From: CrazyMarvin Date: Tue, 4 Oct 2022 17:33:25 +0200 Subject: [PATCH 04/61] Update ci.yml --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2f3ef8..b1a3b99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,12 +9,12 @@ jobs: - name: "🧪 Gradle Wrapper Validation" uses: gradle/wrapper-validation-action@v1 - name: "🧰 Install JDK" - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: java-version: 1.8 java-package: jdk - name: "🧰 Install Android SDK" - uses: malinskiy/action-android/install-sdk@release/0.0.5 + uses: malinskiy/action-android/install-sdk@release/0.1.4 with: acceptLicense: yes - name: "🏗 Build" @@ -22,7 +22,7 @@ jobs: - name: "🧪 Code coverage" run: ./gradlew jacocoTestReport - name: "📤 Upload code coverage" - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} yml: .codecov.yml From e4885c4247a3105d1a7dbcd34d18aa761f632ede Mon Sep 17 00:00:00 2001 From: CrazyMarvin Date: Tue, 4 Oct 2022 17:34:25 +0200 Subject: [PATCH 05/61] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b1a3b99..764ff89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: CI on: push jobs: build: - runs-on: macos-latest + runs-on: ubuntu-latest steps: - name: "📥 Check-out" uses: actions/checkout@v2 From 756d5a78ea5e1cb6f2837c1b482f8ef71874af29 Mon Sep 17 00:00:00 2001 From: CrazyMarvin Date: Tue, 4 Oct 2022 17:36:14 +0200 Subject: [PATCH 06/61] Update ci.yml --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 764ff89..cd5c872 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,8 @@ jobs: - name: "🧰 Install JDK" uses: actions/setup-java@v3 with: - java-version: 1.8 + distribution: 'adopt' + java-version: 8 java-package: jdk - name: "🧰 Install Android SDK" uses: malinskiy/action-android/install-sdk@release/0.1.4 From 60f0ae53b563ac275c902c73b4b8015794633ba8 Mon Sep 17 00:00:00 2001 From: CrazyMarvin Date: Tue, 4 Oct 2022 17:38:28 +0200 Subject: [PATCH 07/61] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd5c872..571bc2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'adopt' - java-version: 8 + java-version: 11 java-package: jdk - name: "🧰 Install Android SDK" uses: malinskiy/action-android/install-sdk@release/0.1.4 From 009a6d1d80651caf5846ca8ff1da12b7c551627a Mon Sep 17 00:00:00 2001 From: Rafael Julio Date: Tue, 4 Oct 2022 22:12:17 +0200 Subject: [PATCH 08/61] Added translation using Weblate (Portuguese (Brazil)) --- app/src/main/res/values-pt-rBR/strings.xml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/src/main/res/values-pt-rBR/strings.xml diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000..a6b3dae --- /dev/null +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file From e1ea5a061049265c323181b2463169b06c2aa8e2 Mon Sep 17 00:00:00 2001 From: bruh Date: Wed, 5 Oct 2022 21:11:57 +0700 Subject: [PATCH 09/61] add max screen brightness widget + preview images for both widgets --- app/src/main/AndroidManifest.xml | 50 ++++++++++++- .../GrantSystemWritePermissionActivity.java | 58 +++++++++++++++ .../ScreenBrightnessWidgetProvider.java | 35 +++++++++ app/src/main/res/drawable/sun.xml | 69 ++++++++++++++++++ .../drawable/widget_flashlight_preview.png | Bin 0 -> 20818 bytes .../res/drawable/widget_screen_preview.png | Bin 0 -> 38097 bytes ...activity_grant_system_write_permission.xml | 29 ++++++++ app/src/main/res/layout/widget_screen.xml | 20 +++++ app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/strings.xml | 4 + app/src/main/res/xml/flashlight_widget.xml | 1 + app/src/main/res/xml/screen_widget.xml | 17 +++++ 12 files changed, 280 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/poopjournal/flashy/GrantSystemWritePermissionActivity.java create mode 100644 app/src/main/java/com/poopjournal/flashy/ScreenBrightnessWidgetProvider.java create mode 100644 app/src/main/res/drawable/sun.xml create mode 100644 app/src/main/res/drawable/widget_flashlight_preview.png create mode 100644 app/src/main/res/drawable/widget_screen_preview.png create mode 100644 app/src/main/res/layout/activity_grant_system_write_permission.xml create mode 100644 app/src/main/res/layout/widget_screen.xml create mode 100644 app/src/main/res/xml/screen_widget.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 480c6c6..86b520d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,12 +1,17 @@ - - + + + + + + - + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/poopjournal/flashy/GrantSystemWritePermissionActivity.java b/app/src/main/java/com/poopjournal/flashy/GrantSystemWritePermissionActivity.java new file mode 100644 index 0000000..7269324 --- /dev/null +++ b/app/src/main/java/com/poopjournal/flashy/GrantSystemWritePermissionActivity.java @@ -0,0 +1,58 @@ +package com.poopjournal.flashy; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.provider.Settings; +import android.widget.Button; +import android.widget.TextView; + +import androidx.appcompat.app.AppCompatActivity; + +public class GrantSystemWritePermissionActivity extends AppCompatActivity { + TextView noticeGrantPermission; + Button buttonGrantPermission; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_grant_system_write_permission); + noticeGrantPermission = findViewById(R.id.notice_grant_permission); + buttonGrantPermission = findViewById(R.id.button_grant_permission); + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) completeWidgetSetup(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Settings.System.canWrite(this)) completeWidgetSetup(); + } + + @Override + protected void onResume() { + super.onResume(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(this)) { + noticeGrantPermission.setText(R.string.system_settings_permission_notice); + buttonGrantPermission.setOnClickListener(v -> { + Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS) + .setData(Uri.parse("package:" + getPackageName())); + startActivity(intent); + }); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + noticeGrantPermission.setText(R.string.system_settings_permission_granted); + buttonGrantPermission.setEnabled(false); + } + } + + @Override + public void onBackPressed() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(this)) { + setResult(Activity.RESULT_CANCELED); + finish(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + completeWidgetSetup(); + } + } + + private void completeWidgetSetup() { + setResult(RESULT_OK); + finish(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/poopjournal/flashy/ScreenBrightnessWidgetProvider.java b/app/src/main/java/com/poopjournal/flashy/ScreenBrightnessWidgetProvider.java new file mode 100644 index 0000000..da8dff5 --- /dev/null +++ b/app/src/main/java/com/poopjournal/flashy/ScreenBrightnessWidgetProvider.java @@ -0,0 +1,35 @@ +package com.poopjournal.flashy; + +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.Context; +import android.content.Intent; +import android.provider.Settings; +import android.widget.RemoteViews; + +public class ScreenBrightnessWidgetProvider extends AppWidgetProvider { + private static final String ACTION_MAX_SCREEN_BRIGHTNESS = "com.poopjournal.flashy.MAXIMIZE_SCREEN_BRIGHTNESS"; + + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + for (int appWidgetId : appWidgetIds) { + RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_screen); + Intent intent = new Intent(context, ScreenBrightnessWidgetProvider.class) + .setAction(ACTION_MAX_SCREEN_BRIGHTNESS); + PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 123, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + remoteViews.setOnClickPendingIntent(R.id.img_screen, pendingIntent); + appWidgetManager.updateAppWidget(appWidgetId, remoteViews); + } + } + + @Override + public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + if (intent.getAction().equals(ACTION_MAX_SCREEN_BRIGHTNESS)) { + //no need to check for permission, since we already handled it in the config activity + Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); + Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 255); + } + } +} diff --git a/app/src/main/res/drawable/sun.xml b/app/src/main/res/drawable/sun.xml new file mode 100644 index 0000000..8fbfa3c --- /dev/null +++ b/app/src/main/res/drawable/sun.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/widget_flashlight_preview.png b/app/src/main/res/drawable/widget_flashlight_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..58db191a37f7a5dbb97c224cd13862d3129942b6 GIT binary patch literal 20818 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/widget_screen_preview.png b/app/src/main/res/drawable/widget_screen_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4ecd37d2d75575938803b4955e44871cb248cf0f GIT binary patch literal 38097 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 B0^k4u literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_grant_system_write_permission.xml b/app/src/main/res/layout/activity_grant_system_write_permission.xml new file mode 100644 index 0000000..870a9aa --- /dev/null +++ b/app/src/main/res/layout/activity_grant_system_write_permission.xml @@ -0,0 +1,29 @@ + + + + + +