From 3877d92c04b0256012fe960ba3d991f7498be810 Mon Sep 17 00:00:00 2001 From: elpaablo Date: Thu, 2 Oct 2025 14:41:40 +0100 Subject: [PATCH] temp2 Change-Id: Ia38ffba8ac4da1fbd3a51d34dc6a6bb60982567a --- DeviceSettings/Android.bp | 11 + DeviceSettings/AndroidManifest.xml | 86 +- .../privapp-permissions-device_settings.xml | 21 + .../res/drawable/banner_fade_gradient.xml | 6 + .../res/drawable/ic_bypass_charging.xml | 27 + DeviceSettings/res/drawable/ic_game_bar.xml | 11 + DeviceSettings/res/drawable/oplus_banner.png | Bin 0 -> 373682 bytes .../res/layout/activity_bypass_charging.xml | 12 + .../res/layout/activity_game_bar.xml | 12 + .../layout/activity_game_bar_app_selector.xml | 5 + .../res/layout/banner_collapsing_toolbar.xml | 22 + .../res/layout/device_settings_activity.xml | 48 ++ DeviceSettings/res/layout/game_bar.xml | 10 + .../res/layout/game_bar_app_selector.xml | 6 + .../res/layout/game_bar_app_selector_item.xml | 34 + DeviceSettings/res/values-ru-rRU/strings.xml | 26 +- DeviceSettings/res/values/arrays.xml | 100 +++ DeviceSettings/res/values/strings.xml | 26 +- DeviceSettings/res/values/themes.xml | 25 + .../res/xml/bypass_charging_settings.xml | 14 + .../res/xml/game_bar_preferences.xml | 252 ++++++ DeviceSettings/res/xml/main.xml | 18 + .../DeviceSettings/BootCompletedReceiver.java | 54 ++ .../device/DeviceSettings/DeviceSettings.java | 16 +- .../DeviceSettingsActivity.java | 48 +- .../DeviceSettings/TileHandlerActivity.java | 93 +++ .../bypasschrg/BypassChargingActivity.java | 33 + .../bypasschrg/BypassChargingController.java | 219 +++++ .../bypasschrg/BypassChargingFragment.java | 50 ++ .../bypasschrg/BypassChargingTile.java | 60 ++ .../gamebar/ForegroundAppDetector.java | 95 +++ .../DeviceSettings/gamebar/GameBar.java | 774 ++++++++++++++++++ .../gamebar/GameBarAppRemoverActivity.java | 36 + .../gamebar/GameBarAppRemoverFragment.java | 94 +++ .../gamebar/GameBarAppSelectorActivity.java | 36 + .../gamebar/GameBarAppSelectorFragment.java | 98 +++ .../gamebar/GameBarAppsAdapter.java | 84 ++ .../gamebar/GameBarAutoAppsAdapter.java | 84 ++ .../gamebar/GameBarBootReceiver.java | 47 ++ .../gamebar/GameBarCpuInfo.java | 130 +++ .../gamebar/GameBarFpsMeter.java | 187 +++++ .../gamebar/GameBarFragment.java | 394 +++++++++ .../gamebar/GameBarGpuInfo.java | 80 ++ .../gamebar/GameBarMemInfo.java | 65 ++ .../gamebar/GameBarMonitorService.java | 82 ++ .../gamebar/GameBarSettingsActivity.java | 56 ++ .../gamebar/GameBarTileService.java | 72 ++ .../gamebar/GameDataExport.java | 132 +++ .../DeviceSettings/utils/FileUtils.java | 176 ++++ product.prop | 3 - 50 files changed, 4040 insertions(+), 30 deletions(-) create mode 100644 DeviceSettings/privapp-permissions-device_settings.xml create mode 100644 DeviceSettings/res/drawable/banner_fade_gradient.xml create mode 100644 DeviceSettings/res/drawable/ic_bypass_charging.xml create mode 100644 DeviceSettings/res/drawable/ic_game_bar.xml create mode 100644 DeviceSettings/res/drawable/oplus_banner.png create mode 100644 DeviceSettings/res/layout/activity_bypass_charging.xml create mode 100644 DeviceSettings/res/layout/activity_game_bar.xml create mode 100644 DeviceSettings/res/layout/activity_game_bar_app_selector.xml create mode 100644 DeviceSettings/res/layout/banner_collapsing_toolbar.xml create mode 100644 DeviceSettings/res/layout/device_settings_activity.xml create mode 100644 DeviceSettings/res/layout/game_bar.xml create mode 100644 DeviceSettings/res/layout/game_bar_app_selector.xml create mode 100644 DeviceSettings/res/layout/game_bar_app_selector_item.xml create mode 100644 DeviceSettings/res/values/themes.xml create mode 100644 DeviceSettings/res/xml/bypass_charging_settings.xml create mode 100644 DeviceSettings/res/xml/game_bar_preferences.xml create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/BootCompletedReceiver.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/TileHandlerActivity.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingActivity.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingController.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingFragment.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingTile.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/ForegroundAppDetector.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBar.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverActivity.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverFragment.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorActivity.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorFragment.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppsAdapter.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAutoAppsAdapter.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarBootReceiver.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarCpuInfo.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFpsMeter.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFragment.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarGpuInfo.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMemInfo.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMonitorService.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarSettingsActivity.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarTileService.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameDataExport.java create mode 100644 DeviceSettings/src/org/lineageos/device/DeviceSettings/utils/FileUtils.java diff --git a/DeviceSettings/Android.bp b/DeviceSettings/Android.bp index 123c01c..005c551 100644 --- a/DeviceSettings/Android.bp +++ b/DeviceSettings/Android.bp @@ -19,7 +19,18 @@ android_app { "org.lineageos.platform.internal", ], + required: [ + "privapp-permissions-device_settings.xml", + ], + optimize: { proguard_flags_files: ["proguard.flags"], }, } + +prebuilt_etc { + name: "privapp-permissions-device_settings.xml", + src: "privapp-permissions-device_settings.xml", + sub_dir: "permissions", + system_ext_specific: true, +} diff --git a/DeviceSettings/AndroidManifest.xml b/DeviceSettings/AndroidManifest.xml index b2bb563..2976355 100644 --- a/DeviceSettings/AndroidManifest.xml +++ b/DeviceSettings/AndroidManifest.xml @@ -26,6 +26,9 @@ + + + @@ -35,13 +38,23 @@ android:label="@string/device_title" android:defaultToDeviceProtectedStorage="true" android:directBootAware="true" - android:theme="@style/Theme.SubSettingsBase.Expressive" + android:theme="@style/Theme.DeviceSettings" android:exported="true"> + + + + + + + + @@ -88,5 +101,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DeviceSettings/privapp-permissions-device_settings.xml b/DeviceSettings/privapp-permissions-device_settings.xml new file mode 100644 index 0000000..3147def --- /dev/null +++ b/DeviceSettings/privapp-permissions-device_settings.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/DeviceSettings/res/drawable/banner_fade_gradient.xml b/DeviceSettings/res/drawable/banner_fade_gradient.xml new file mode 100644 index 0000000..4567557 --- /dev/null +++ b/DeviceSettings/res/drawable/banner_fade_gradient.xml @@ -0,0 +1,6 @@ + + + diff --git a/DeviceSettings/res/drawable/ic_bypass_charging.xml b/DeviceSettings/res/drawable/ic_bypass_charging.xml new file mode 100644 index 0000000..68749f9 --- /dev/null +++ b/DeviceSettings/res/drawable/ic_bypass_charging.xml @@ -0,0 +1,27 @@ + + + + + diff --git a/DeviceSettings/res/drawable/ic_game_bar.xml b/DeviceSettings/res/drawable/ic_game_bar.xml new file mode 100644 index 0000000..54f24ae --- /dev/null +++ b/DeviceSettings/res/drawable/ic_game_bar.xml @@ -0,0 +1,11 @@ + + + + diff --git a/DeviceSettings/res/drawable/oplus_banner.png b/DeviceSettings/res/drawable/oplus_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..b84bbac94bffeee9a0fdb58c6091b0c35a62c161 GIT binary patch literal 373682 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

>vUQ{shQN3|%lJN6cLP%|6fci1 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

@_Thw$15wK?k>0cJLRNdX&v^Z?W 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%0AA%ld5yKu=`{4AP3)R$= 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 + + + + + diff --git a/DeviceSettings/res/layout/activity_game_bar.xml b/DeviceSettings/res/layout/activity_game_bar.xml new file mode 100644 index 0000000..c4964ba --- /dev/null +++ b/DeviceSettings/res/layout/activity_game_bar.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/DeviceSettings/res/layout/activity_game_bar_app_selector.xml b/DeviceSettings/res/layout/activity_game_bar_app_selector.xml new file mode 100644 index 0000000..eec564c --- /dev/null +++ b/DeviceSettings/res/layout/activity_game_bar_app_selector.xml @@ -0,0 +1,5 @@ + + diff --git a/DeviceSettings/res/layout/banner_collapsing_toolbar.xml b/DeviceSettings/res/layout/banner_collapsing_toolbar.xml new file mode 100644 index 0000000..b97f8e8 --- /dev/null +++ b/DeviceSettings/res/layout/banner_collapsing_toolbar.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/DeviceSettings/res/layout/device_settings_activity.xml b/DeviceSettings/res/layout/device_settings_activity.xml new file mode 100644 index 0000000..0ef57c0 --- /dev/null +++ b/DeviceSettings/res/layout/device_settings_activity.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + diff --git a/DeviceSettings/res/layout/game_bar.xml b/DeviceSettings/res/layout/game_bar.xml new file mode 100644 index 0000000..e8948d9 --- /dev/null +++ b/DeviceSettings/res/layout/game_bar.xml @@ -0,0 +1,10 @@ + + + diff --git a/DeviceSettings/res/layout/game_bar_app_selector.xml b/DeviceSettings/res/layout/game_bar_app_selector.xml new file mode 100644 index 0000000..6ce63b5 --- /dev/null +++ b/DeviceSettings/res/layout/game_bar_app_selector.xml @@ -0,0 +1,6 @@ + + diff --git a/DeviceSettings/res/layout/game_bar_app_selector_item.xml b/DeviceSettings/res/layout/game_bar_app_selector_item.xml new file mode 100644 index 0000000..38c45e5 --- /dev/null +++ b/DeviceSettings/res/layout/game_bar_app_selector_item.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/DeviceSettings/res/values-ru-rRU/strings.xml b/DeviceSettings/res/values-ru-rRU/strings.xml index 7005fad..79e361a 100644 --- a/DeviceSettings/res/values-ru-rRU/strings.xml +++ b/DeviceSettings/res/values-ru-rRU/strings.xml @@ -16,8 +16,8 @@ --> - Настройки OnePlus - Изменение особых настроек устройства OnePlus + Aston Settings + Extra settings for OnePlus Ace3 | 12R Переключатель режима @@ -69,4 +69,26 @@ Снять ограничения касаний Улучшение в играх нескольких касаний Может увеличить вероятность случайного прикосновения + + + Gaming + Extra settings for gamers + + + Bypass charging + Supply power directly to the phone + Bypass charging supplies power directly to the board, instead of the battery, helping to reduce device heat, when running demanding applications like games. + Bypass charging is not supported on this device + Enabled + Disabled + Coudn\'t enable Bypass Charging. + + + GameBar + Enable the system overlay (FPS, Temp, etc.) + Overlay permission is required + Overlay permission granted + Overlay permission denied + GameBar + Toggle the game overlay diff --git a/DeviceSettings/res/values/arrays.xml b/DeviceSettings/res/values/arrays.xml index 1ce60e9..bb5a5dc 100644 --- a/DeviceSettings/res/values/arrays.xml +++ b/DeviceSettings/res/values/arrays.xml @@ -111,4 +111,104 @@ 64 63 + + + + New API (Default) + Legacy Sysfs + + + new + legacy + + + + + Every 500ms + Every second + Every 2 seconds + Every 5 seconds + + + 500 + 1000 + 2000 + 5000 + + + + + Top Left + Top Center + Top Right + Bottom Left + Bottom Center + Bottom Right + Custom Draggable + + + top_left + top_center + top_right + bottom_left + bottom_center + bottom_right + draggable + + + + + White + Crimson + Fruit Salad + Royal Blue + Amber + Teal + Electric Violet + Magenta + + + #FFFFFF + #DC143C + #4CAF50 + #4169E1 + #FFBF00 + #008080 + #8A2BE2 + #FF1493 + + + + + Full + Minimal + + + full + minimal + + + + + Side-by-Side + Stacked + + + side_by_side + stacked + + + + + 1 second + 3 seconds + 5 seconds + 10 seconds + + + 1000 + 3000 + 5000 + 10000 + diff --git a/DeviceSettings/res/values/strings.xml b/DeviceSettings/res/values/strings.xml index dc98e72..b643744 100644 --- a/DeviceSettings/res/values/strings.xml +++ b/DeviceSettings/res/values/strings.xml @@ -16,8 +16,8 @@ --> - OnePlus Settings - Adjust OnePlus specific device settings + Aston Settings + Extra settings for OnePlus Ace3 | 12R Alert slider @@ -69,4 +69,26 @@ Unlimit edge touch Improve your multi-touch experience in games May increase the possibility of accidental touch + + + Gaming + Extra settings for gamers + + + Bypass charging + Supply power directly to the phone + Bypass charging supplies power directly to the board, instead of the battery, helping to reduce device heat, when running demanding applications like games. + Bypass charging is not supported on this device + Enabled + Disabled + Coudn\'t enable Bypass Charging. + + + GameBar + Enable the system overlay (FPS, Temp, etc.) + Overlay permission is required + Overlay permission granted + Overlay permission denied + GameBar + Toggle the game overlay diff --git a/DeviceSettings/res/values/themes.xml b/DeviceSettings/res/values/themes.xml new file mode 100644 index 0000000..dd06f5d --- /dev/null +++ b/DeviceSettings/res/values/themes.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/DeviceSettings/res/xml/bypass_charging_settings.xml b/DeviceSettings/res/xml/bypass_charging_settings.xml new file mode 100644 index 0000000..1be278f --- /dev/null +++ b/DeviceSettings/res/xml/bypass_charging_settings.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/DeviceSettings/res/xml/game_bar_preferences.xml b/DeviceSettings/res/xml/game_bar_preferences.xml new file mode 100644 index 0000000..6fea1af --- /dev/null +++ b/DeviceSettings/res/xml/game_bar_preferences.xml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DeviceSettings/res/xml/main.xml b/DeviceSettings/res/xml/main.xml index 14dddeb..422cb86 100644 --- a/DeviceSettings/res/xml/main.xml +++ b/DeviceSettings/res/xml/main.xml @@ -93,4 +93,22 @@ android:title="@string/usb2_fc_title" /> --> + + + + + + diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/BootCompletedReceiver.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/BootCompletedReceiver.java new file mode 100644 index 0000000..71787be --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/BootCompletedReceiver.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2015 The CyanogenMod Project + * 2017-2020 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import androidx.preference.PreferenceManager; + +import org.lineageos.device.DeviceSettings.gamebar.GameBar; +import org.lineageos.device.DeviceSettings.gamebar.GameBarMonitorService; + +public class BootCompletedReceiver extends BroadcastReceiver { + + @Override + public void onReceive(final Context context, Intent intent) { + String action = intent.getAction(); + if (Intent.ACTION_BOOT_COMPLETED.equals(action)) { + restoreGameBarOverlayState(context); + } + } + + private void restoreGameBarOverlayState(Context context) { + var prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean mainEnabled = prefs.getBoolean("game_bar_enable", false); + boolean autoEnabled = prefs.getBoolean("game_bar_auto_enable", false); + if (mainEnabled) { + // Restore game bar preferences + GameBar.getInstance(context).applyPreferences(); + GameBar.getInstance(context).show(); + } + if (autoEnabled) { + // Start GameBarMonitorService + Intent monitorIntent = new Intent(context, GameBarMonitorService.class); + context.startService(monitorIntent); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettings.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettings.java index cb598bf..73e0052 100644 --- a/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettings.java +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettings.java @@ -384,14 +384,14 @@ public class DeviceSettings extends SettingsBasePreferenceFragment }); } - public static void restoreFastChargeSetting(Context context) { - if (Utils.fileWritable(FILE_FAST_CHARGE)) { - SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - boolean value = sharedPrefs.getBoolean(KEY_USB2_SWITCH, - Utils.getFileValueAsBoolean(FILE_FAST_CHARGE, false)); - Utils.writeValue(FILE_FAST_CHARGE, value ? "1" : "0"); - } - } + // public static void restoreFastChargeSetting(Context context) { + // if (Utils.fileWritable(FILE_FAST_CHARGE)) { + // SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); + // boolean value = sharedPrefs.getBoolean(KEY_USB2_SWITCH, + // Utils.getFileValueAsBoolean(FILE_FAST_CHARGE, false)); + // Utils.writeValue(FILE_FAST_CHARGE, value ? "1" : "0"); + // } + // } private static int getDefaultResIdForUsage(String usage) { switch (usage) { diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettingsActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettingsActivity.java index 8967fe9..ae09c83 100644 --- a/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettingsActivity.java +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/DeviceSettingsActivity.java @@ -16,29 +16,51 @@ package org.lineageos.device.DeviceSettings; -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.app.Fragment; -import android.content.DialogInterface; import android.os.Bundle; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import androidx.preference.PreferenceFragment; -import androidx.preference.PreferenceManager; +import android.view.View; import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.appbar.CollapsingToolbarLayout; + public class DeviceSettingsActivity extends CollapsingToolbarBaseActivity { + private View bannerFadeOverlay; + private boolean pinned = false; // Set true to pin the fade overlay @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTitle(" "); + // Load your fragment as usual getSupportFragmentManager().beginTransaction().replace( - com.android.settingslib.collapsingtoolbar.R.id.content_frame, - new DeviceSettings()).commit(); + R.id.content_frame, + new DeviceSettings()).commit(); + + // Inject banner dynamically into CollapsingToolbarLayout + CollapsingToolbarLayout collapsingToolbar = + findViewById(R.id.collapsing_toolbar); + if (collapsingToolbar != null) { + View banner = getLayoutInflater().inflate(R.layout.banner_collapsing_toolbar, collapsingToolbar, false); + + // You may want to insert at position 0 to ensure it's on top + collapsingToolbar.addView(banner, 0); + + bannerFadeOverlay = banner.findViewById(R.id.bannerFadeOverlay); + + // Animate fade overlay on scroll + AppBarLayout appBar = findViewById(R.id.app_bar); + if (appBar != null) { + appBar.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> { + if (bannerFadeOverlay == null) return; + int totalScrollRange = appBarLayout.getTotalScrollRange(); + float offsetFraction = Math.abs(verticalOffset) / (float) totalScrollRange; + float maxAlpha = 0.8f; + float alpha = pinned ? maxAlpha : maxAlpha * (1 - offsetFraction); + bannerFadeOverlay.setAlpha(alpha); + }); + } + } } } diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/TileHandlerActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/TileHandlerActivity.java new file mode 100644 index 0000000..c3769cd --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/TileHandlerActivity.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2025 kenway215 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings; + +import android.app.Activity; +import android.content.ComponentName; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.provider.Settings; +import android.service.quicksettings.TileService; +import android.util.Log; + +import java.util.HashMap; +import java.util.Map; + +import org.lineageos.device.DeviceSettings.bypasschrg.BypassChargingActivity; +import org.lineageos.device.DeviceSettings.bypasschrg.BypassChargingTile; +import org.lineageos.device.DeviceSettings.gamebar.GameBarSettingsActivity; +import org.lineageos.device.DeviceSettings.gamebar.GameBarTileService; + +public final class TileHandlerActivity extends Activity { + private static final String TAG = "TileHandlerActivity"; + + // Map QS Tile services to their corresponding activity + private static final Map> TILE_ACTIVITY_MAP = new HashMap<>(); + + static { + TILE_ACTIVITY_MAP.put(GameBarTileService.class.getName(), GameBarSettingsActivity.class); + TILE_ACTIVITY_MAP.put(BypassChargingTile.class.getName(), BypassChargingActivity.class); + } + + @Override + protected void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + final Intent intent = getIntent(); + if (intent == null || !TileService.ACTION_QS_TILE_PREFERENCES.equals(intent.getAction())) { + Log.e(TAG, "Invalid or null intent received"); + finish(); + return; + } + + final ComponentName qsTile = intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME); + if (qsTile == null) { + Log.e(TAG, "No QS tile component found in intent"); + finish(); + return; + } + + final String qsName = qsTile.getClassName(); + final Intent targetIntent = new Intent(); + + // Check if the tile is mapped to an activity + if (TILE_ACTIVITY_MAP.containsKey(qsName)) { + targetIntent.setClass(this, TILE_ACTIVITY_MAP.get(qsName)); + Log.d(TAG, "Launching settings activity for QS tile: " + qsName); + } else { + // Default: Open app settings for the QS tile's package + final String packageName = qsTile.getPackageName(); + if (packageName == null) { + Log.e(TAG, "QS tile package name is null"); + finish(); + return; + } + targetIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + targetIntent.setData(Uri.fromParts("package", packageName, null)); + Log.d(TAG, "Opening app info for package: " + packageName); + } + + // Ensure proper navigation behavior + targetIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | + Intent.FLAG_ACTIVITY_CLEAR_TASK | + Intent.FLAG_ACTIVITY_NEW_TASK); + + startActivity(targetIntent); + finish(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingActivity.java new file mode 100644 index 0000000..8b9eeca --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingActivity.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2025 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.bypasschrg; + +import android.os.Bundle; + +import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; + +import org.lineageos.device.DeviceSettings.R; + +public class BypassChargingActivity extends CollapsingToolbarBaseActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_bypass_charging); + setTitle(getString(R.string.bypass_charging_title)); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingController.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingController.java new file mode 100644 index 0000000..af62ab6 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingController.java @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2025 The LineageOS Project + * Copyright (C) 2025 AlphaDroid + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.bypasschrg; + +import static lineageos.health.HealthInterface.MODE_AUTO; +import static lineageos.health.HealthInterface.MODE_LIMIT; + +import android.content.ContentResolver; +import android.content.Context; +import android.content.SharedPreferences; +import android.database.ContentObserver; +import android.net.Uri; +import android.os.Handler; +import android.provider.Settings; +import android.util.Log; +import android.widget.Toast; +import androidx.preference.PreferenceManager; + +import org.lineageos.device.DeviceSettings.R; +import org.lineageos.device.DeviceSettings.utils.FileUtils; + +/** + * This class is implemented to coexist with Lineage Charging Control (CC). + * Bypass Charging will override (disable) CC, while it's enabled. + * CC status will be restored, when Bypass Charging is disabled. + * Any user changes to CC settings, while Bypass Charging is enabled, + * will override Bypass Charging settings. + */ +public class BypassChargingController { + + private static final boolean DEBUG = false; + + private static final String TAG = "BypassChargingController"; + private static final String BYPASS_CHARGING_NODE = "/sys/class/oplus_chg/battery/mmi_charging_enable"; + private static final String KEY_BYPASS_CHARGING_ENABLED = "bypass_charging_enabled"; + + // Bypass modes + private static final String BYPASS_CHARGING_ENABLED = "0"; + private static final String BYPASS_CHARGING_DISABLED = "1"; + + private static final int CC_LIMIT_MIN = 10; + private static final int CC_LIMIT_MAX = 100; + private static final int CC_LIMIT_DEF = 80; + + // Charging Control settings + private static final String KEY_CHARGING_CONTROL_ENABLED = "charging_control_enabled"; + private static final String KEY_CHARGING_CONTROL_MODE = "charging_control_mode"; + private static final String KEY_CHARGING_CONTROL_LIMIT = "charging_control_charging_limit"; + + private Context mContext; + private ContentResolver mContentResolver; + + private static BypassChargingController sInstance; + public static synchronized BypassChargingController getInstance(Context context) { + if (sInstance == null) { + sInstance = new BypassChargingController(context); + } + return sInstance; + } + + private BypassChargingController(Context context) { + mContext = context.getApplicationContext(); + mContentResolver = mContext.getContentResolver(); + } + + private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { + @Override + public void onChange(boolean selfChange, Uri uri) { + switch(uri.getLastPathSegment()) { + case KEY_CHARGING_CONTROL_ENABLED: + case KEY_CHARGING_CONTROL_MODE: + case KEY_CHARGING_CONTROL_LIMIT: + break; + } + } + }; + + public boolean isBypassChargingSupported() { + return isNodeAccessible(BYPASS_CHARGING_NODE); + } + + public boolean isBypassChargingEnabled() { + try { + String value = FileUtils.readOneLine(BYPASS_CHARGING_NODE); + return value != null && BYPASS_CHARGING_ENABLED.equals(value); + } catch (Exception e) { + Log.e(TAG, "Failed to read bypass sysnode", e); + return false; + } + } + + private boolean isNodeAccessible(String node) { + try { + String value = FileUtils.readOneLine(node); + return true; + } catch (Exception e) { + Log.e(TAG, "Node " + node + " not accessible", e); + return false; + } + } + + private boolean writeToNode(String value) { + try { + FileUtils.writeLine(BYPASS_CHARGING_NODE, value); + } catch (Exception e) { + Log.e(TAG, "Failed to write bypass sysnode", e); + return false; + } + return true; + } + + public void setBypassCharging(boolean enable) { + if (enable) { + enableBypassCharging(); + } + else { + disableBypassCharging(); + } + } + + private void enableBypassCharging() { + setChargingControlEnabled(true); + setChargingControlMode(MODE_LIMIT); + setChargingControlLimit(CC_LIMIT_MIN); + writeToNode(BYPASS_CHARGING_ENABLED); + } + + public void disableBypassCharging() { + writeToNode(BYPASS_CHARGING_DISABLED); + setChargingControlLimit(CC_LIMIT_DEF); + // setChargingControlMode(MODE_AUTO); + setChargingControlEnabled(false); + } + + private void saveBypassChargingEnabled(boolean enabled) { + PreferenceManager.getDefaultSharedPreferences(mContext) + .edit() + .putBoolean(KEY_BYPASS_CHARGING_ENABLED, enabled) + .commit(); + } + + private boolean isSavedBypassChargingEnabled() { + return PreferenceManager.getDefaultSharedPreferences(mContext) + .getBoolean(KEY_BYPASS_CHARGING_ENABLED, false); + } + + private void backupChargingControlSettings() { + PreferenceManager.getDefaultSharedPreferences(mContext) + .edit() + .putInt(KEY_CHARGING_CONTROL_MODE, getChargingControlMode()) + .putInt(KEY_CHARGING_CONTROL_LIMIT, getChargingControlLimit()) + .putBoolean(KEY_CHARGING_CONTROL_ENABLED, isChargingControlEnabled()) + .commit(); + } + + private void restoreChargingControlSettings() { + SharedPreferences sharedPreferences = + PreferenceManager.getDefaultSharedPreferences(mContext); + setChargingControlMode(sharedPreferences.getInt( + KEY_CHARGING_CONTROL_LIMIT, CC_LIMIT_DEF)); + setChargingControlMode(sharedPreferences.getInt( + KEY_CHARGING_CONTROL_MODE, MODE_AUTO)); + setChargingControlEnabled(sharedPreferences.getBoolean( + KEY_CHARGING_CONTROL_ENABLED, false)); + } + + private boolean isChargingControlEnabled() { + return Settings.System.getInt(mContentResolver, + KEY_CHARGING_CONTROL_ENABLED, 0) != 0; + } + + private void setChargingControlEnabled(boolean enabled) { + Settings.System.putInt(mContentResolver, + KEY_CHARGING_CONTROL_ENABLED, enabled ? 1 : 0); + } + + private int getChargingControlMode() { + return Settings.System.getInt(mContentResolver, + KEY_CHARGING_CONTROL_MODE, MODE_AUTO); + } + + private void setChargingControlMode(int mode) { + Settings.System.putInt(mContentResolver, + KEY_CHARGING_CONTROL_MODE, mode); + } + + private int getChargingControlLimit() { + return Settings.System.getInt(mContentResolver, + KEY_CHARGING_CONTROL_LIMIT, CC_LIMIT_DEF); + } + + private void setChargingControlLimit(int limit) { + if (limit < CC_LIMIT_MIN || limit > CC_LIMIT_MAX) { + return; + } + Settings.System.putInt(mContentResolver, + KEY_CHARGING_CONTROL_LIMIT, limit); + } + + private void showToast(int resId) { + Toast.makeText(mContext, mContext.getString(resId), + Toast.LENGTH_LONG).show(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingFragment.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingFragment.java new file mode 100644 index 0000000..4c5f460 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingFragment.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2025 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.bypasschrg; + +import android.os.Bundle; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.TwoStatePreference; + +import org.lineageos.device.DeviceSettings.R; + +public class BypassChargingFragment extends PreferenceFragmentCompat { + + private static final String KEY_BYPASS_CHARGING = "bypass_charging"; + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.bypass_charging_settings, rootKey); + + BypassChargingController bypassController = + BypassChargingController.getInstance(getContext()); + boolean bypassSupported = bypassController.isBypassChargingSupported(); + + TwoStatePreference bypassPreference = findPreference(KEY_BYPASS_CHARGING); + bypassPreference.setEnabled(bypassSupported); + if (bypassSupported) { + bypassPreference.setChecked(bypassController.isBypassChargingEnabled()); + bypassPreference.setOnPreferenceChangeListener((pref, newValue) -> { + bypassController.setBypassCharging((boolean) newValue); + return true; + }); + } else { + bypassPreference.setSummary(R.string.bypass_charging_unavailable); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingTile.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingTile.java new file mode 100644 index 0000000..6dce7b7 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/bypasschrg/BypassChargingTile.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.bypasschrg; + +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; + +import org.lineageos.device.DeviceSettings.R; + +public class BypassChargingTile extends TileService { + + + private BypassChargingController mBypassController; + private boolean mEnabled; + + @Override + public void onCreate() { + super.onCreate(); + mBypassController = BypassChargingController.getInstance(this); + } + + @Override + public void onStartListening() { + mEnabled = mBypassController.isBypassChargingEnabled(); + updateTileState(); + } + + @Override + public void onClick() { + if (mEnabled == mBypassController.isBypassChargingEnabled()) { + mEnabled = !mEnabled; + updateTileState(); + mBypassController.setBypassCharging(mEnabled); + } + } + + private void updateTileState() { + Tile tile = getQsTile(); + if (tile == null) return; + + tile.setState(mEnabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE); + tile.setLabel(getString(R.string.bypass_charging_title)); + tile.setContentDescription(getString(R.string.bypass_charging_summary)); + tile.updateTile(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/ForegroundAppDetector.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/ForegroundAppDetector.java new file mode 100644 index 0000000..23d890d --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/ForegroundAppDetector.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.app.ActivityManager; +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.Build; +import android.util.Log; + +import java.lang.reflect.Method; +import java.util.List; + +public class ForegroundAppDetector { + + private static final String TAG = "ForegroundAppDetector"; + + public static String getForegroundPackageName(Context context) { + + String pkg = tryGetRunningTasks(context); + if (pkg != null) { + return pkg; + } + pkg = tryReflectActivityTaskManager(); + if (pkg != null) { + return pkg; + } + return "Unknown"; + } + + private static String tryGetRunningTasks(Context context) { + try { + if (context.checkSelfPermission("android.permission.GET_TASKS") + == PackageManager.PERMISSION_GRANTED) { + + ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + List tasks = am.getRunningTasks(1); + if (tasks != null && !tasks.isEmpty()) { + ActivityManager.RunningTaskInfo top = tasks.get(0); + if (top.topActivity != null) { + return top.topActivity.getPackageName(); + } + } + } else { + Log.w(TAG, "GET_TASKS permission not granted to this system app?"); + } + } catch (Exception e) { + Log.e(TAG, "tryGetRunningTasks error: ", e); + } + return null; + } + + private static String tryReflectActivityTaskManager() { + try { + Class atmClass = Class.forName("android.app.ActivityTaskManager"); + Method getServiceMethod = atmClass.getDeclaredMethod("getService"); + getServiceMethod.setAccessible(true); + Object atmService = getServiceMethod.invoke(null); + Method getTasksMethod = atmService.getClass().getMethod("getTasks", int.class); + @SuppressWarnings("unchecked") + List taskList = (List) getTasksMethod.invoke(atmService, 1); + if (taskList != null && !taskList.isEmpty()) { + + Object firstTask = taskList.get(0); + + Class rtiClass = firstTask.getClass(); + Method getTopActivityMethod = rtiClass.getDeclaredMethod("getTopActivity"); + Object compName = getTopActivityMethod.invoke(firstTask); + if (compName != null) { + + Method getPackageNameMethod = compName.getClass().getMethod("getPackageName"); + String pkgName = (String) getPackageNameMethod.invoke(compName); + return pkgName; + } + } + } catch (Exception e) { + Log.e(TAG, "tryReflectActivityTaskManager error: ", e); + } + return null; + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBar.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBar.java new file mode 100644 index 0000000..0a4aa94 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBar.java @@ -0,0 +1,774 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.app.usage.UsageStatsManager; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.graphics.Color; +import android.graphics.PixelFormat; +import android.graphics.drawable.GradientDrawable; +import android.os.Handler; +import android.os.Looper; +import android.provider.Settings; +import android.util.TypedValue; +import android.view.GestureDetector; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.preference.PreferenceManager; + +import org.lineageos.device.DeviceSettings.R; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +public class GameBar { + + private static GameBar sInstance; + public static synchronized GameBar getInstance(Context context) { + if (sInstance == null) { + sInstance = new GameBar(context.getApplicationContext()); + } + return sInstance; + } + + private static final String FPS_PATH = "/sys/class/drm/sde-crtc-0/measured_fps"; + private static final String BATTERY_TEMP_PATH = "/sys/class/power_supply/battery/temp"; + + private static final String PREF_KEY_X = "game_bar_x"; + private static final String PREF_KEY_Y = "game_bar_y"; + + private final Context mContext; + private final WindowManager mWindowManager; + private final Handler mHandler; + + private View mOverlayView; + private LinearLayout mRootLayout; + private WindowManager.LayoutParams mLayoutParams; + private boolean mIsShowing = false; + + private int mTextSizeSp = 16; + private int mBackgroundAlpha = 128; + private int mCornerRadius = 16; + private int mPaddingDp = 12; + private String mTitleColorHex = "#FFFFFF"; + private String mValueColorHex = "#FFFFFF"; + private String mOverlayFormat = "full"; + private String mPosition = "top_left"; + private String mSplitMode = "stacked"; + private int mUpdateIntervalMs = 1000; + private boolean mDraggable = false; + + private boolean mShowBatteryTemp = false; + private boolean mShowCpuUsage = false; + private boolean mShowCpuClock = false; + private boolean mShowCpuTemp = false; + private boolean mShowRam = false; + private boolean mShowFps = false; + + private boolean mShowGpuUsage = false; + private boolean mShowGpuClock = false; + private boolean mShowGpuTemp = false; + + private boolean mLongPressEnabled = false; + private long mLongPressThresholdMs = 1000; + private boolean mPressActive = false; + private float mDownX, mDownY; + private static final float TOUCH_SLOP = 20f; + + private GestureDetector mGestureDetector; + private boolean mDoubleTapCaptureEnabled = false; + private boolean mSingleTapToggleEnabled = false; + private GradientDrawable mBgDrawable; + + private int mItemSpacingDp = 8; + + private final Runnable mLongPressRunnable = new Runnable() { + @Override + public void run() { + if (mPressActive) { + openOverlaySettings(); + mPressActive = false; + } + } + }; + + private final Runnable mUpdateRunnable = new Runnable() { + @Override + public void run() { + if (mIsShowing) { + updateStats(); + mHandler.postDelayed(this, mUpdateIntervalMs); + } + } + }; + + private GameBar(Context context) { + mContext = context; + mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + mHandler = new Handler(Looper.getMainLooper()); + + mBgDrawable = new GradientDrawable(); + applyBackgroundStyle(); + + mGestureDetector = new GestureDetector(mContext, new GestureDetector.SimpleOnGestureListener() { + @Override + public boolean onDoubleTap(MotionEvent e) { + if (mDoubleTapCaptureEnabled) { + if (GameDataExport.getInstance().isCapturing()) { + GameDataExport.getInstance().stopCapture(); + Toast.makeText(mContext, "Capture Stopped", Toast.LENGTH_SHORT).show(); + } else { + GameDataExport.getInstance().startCapture(); + Toast.makeText(mContext, "Capture Started", Toast.LENGTH_SHORT).show(); + } + return true; + } + return super.onDoubleTap(e); + } + + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + if (mSingleTapToggleEnabled) { + mOverlayFormat = "full".equals(mOverlayFormat) ? "minimal" : "full"; + PreferenceManager.getDefaultSharedPreferences(mContext) + .edit() + .putString("game_bar_format", mOverlayFormat) + .apply(); + Toast.makeText(mContext, "Overlay Format: " + mOverlayFormat, Toast.LENGTH_SHORT).show(); + updateStats(); + return true; + } + return super.onSingleTapConfirmed(e); + } + }); + } + + public void applyPreferences() { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); + + mShowFps = prefs.getBoolean("game_bar_fps_enable", false); + mShowBatteryTemp = prefs.getBoolean("game_bar_temp_enable", false); + mShowCpuUsage = prefs.getBoolean("game_bar_cpu_usage_enable", false); + mShowCpuClock = prefs.getBoolean("game_bar_cpu_clock_enable", false); + mShowCpuTemp = prefs.getBoolean("game_bar_cpu_temp_enable", false); + mShowRam = prefs.getBoolean("game_bar_ram_enable", false); + + mShowGpuUsage = prefs.getBoolean("game_bar_gpu_usage_enable", false); + mShowGpuClock = prefs.getBoolean("game_bar_gpu_clock_enable", false); + mShowGpuTemp = prefs.getBoolean("game_bar_gpu_temp_enable", false); + + mDoubleTapCaptureEnabled = prefs.getBoolean("game_bar_doubletap_capture", false); + mSingleTapToggleEnabled = prefs.getBoolean("game_bar_single_tap_toggle", false); + + updateSplitMode(prefs.getString("game_bar_split_mode", "stacked")); + updateTextSize(prefs.getInt("game_bar_text_size", 16)); + updateBackgroundAlpha(prefs.getInt("game_bar_background_alpha", 128)); + updateCornerRadius(prefs.getInt("game_bar_corner_radius", 16)); + updatePadding(prefs.getInt("game_bar_padding", 12)); + updateTitleColor(prefs.getString("game_bar_title_color", "#FFFFFF")); + updateValueColor(prefs.getString("game_bar_value_color", "#4CAF50")); + updateOverlayFormat(prefs.getString("game_bar_format", "full")); + updateUpdateInterval(prefs.getString("game_bar_update_interval", "1000")); + updatePosition(prefs.getString("game_bar_position", "top_left")); + + int spacing = prefs.getInt("game_bar_item_spacing", 8); + updateItemSpacing(spacing); + + mLongPressEnabled = prefs.getBoolean("game_bar_longpress_enable", false); + String lpTimeoutStr = prefs.getString("game_bar_longpress_timeout", "1000"); + try { + long lpt = Long.parseLong(lpTimeoutStr); + setLongPressThresholdMs(lpt); + } catch (NumberFormatException ignored) {} + } + + public void show() { + if (mIsShowing) return; + + applyPreferences(); + + mLayoutParams = new WindowManager.LayoutParams( + WindowManager.LayoutParams.WRAP_CONTENT, + WindowManager.LayoutParams.WRAP_CONTENT, + WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, + WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, + PixelFormat.TRANSLUCENT + ); + + if ("draggable".equals(mPosition)) { + mDraggable = true; + loadSavedPosition(mLayoutParams); + if (mLayoutParams.x == 0 && mLayoutParams.y == 0) { + mLayoutParams.gravity = Gravity.TOP | Gravity.START; + mLayoutParams.x = 0; + mLayoutParams.y = 100; + } + } else { + mDraggable = false; + applyPosition(mLayoutParams, mPosition); + } + + mOverlayView = new LinearLayout(mContext); + mOverlayView.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + )); + mRootLayout = (LinearLayout) mOverlayView; + applySplitMode(); + applyBackgroundStyle(); + applyPadding(); + + mOverlayView.setOnTouchListener((v, event) -> { + if (mGestureDetector != null && mGestureDetector.onTouchEvent(event)) { + return true; + } + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + if (mDraggable) { + initialX = mLayoutParams.x; + initialY = mLayoutParams.y; + initialTouchX = event.getRawX(); + initialTouchY = event.getRawY(); + } + if (mLongPressEnabled) { + mPressActive = true; + mDownX = event.getRawX(); + mDownY = event.getRawY(); + mHandler.postDelayed(mLongPressRunnable, mLongPressThresholdMs); + } + return true; + case MotionEvent.ACTION_MOVE: + if (mLongPressEnabled && mPressActive) { + float dx = Math.abs(event.getRawX() - mDownX); + float dy = Math.abs(event.getRawY() - mDownY); + if (dx > TOUCH_SLOP || dy > TOUCH_SLOP) { + mPressActive = false; + mHandler.removeCallbacks(mLongPressRunnable); + } + } + if (mDraggable) { + int deltaX = (int) (event.getRawX() - initialTouchX); + int deltaY = (int) (event.getRawY() - initialTouchY); + mLayoutParams.x = initialX + deltaX; + mLayoutParams.y = initialY + deltaY; + mWindowManager.updateViewLayout(mOverlayView, mLayoutParams); + } + return true; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + if (mLongPressEnabled && mPressActive) { + mPressActive = false; + mHandler.removeCallbacks(mLongPressRunnable); + } + if (mDraggable) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); + prefs.edit() + .putInt(PREF_KEY_X, mLayoutParams.x) + .putInt(PREF_KEY_Y, mLayoutParams.y) + .apply(); + } + return true; + } + return false; + }); + + mWindowManager.addView(mOverlayView, mLayoutParams); + mIsShowing = true; + startUpdates(); + + // Start the FPS meter if using the new API method. + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { + GameBarFpsMeter.getInstance(mContext).start(); + } + } + + private int initialX, initialY; + private float initialTouchX, initialTouchY; + + public void hide() { + if (!mIsShowing) return; + mHandler.removeCallbacksAndMessages(null); + if (mOverlayView != null) { + mWindowManager.removeView(mOverlayView); + mOverlayView = null; + } + mIsShowing = false; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { + GameBarFpsMeter.getInstance(mContext).stop(); + } + } + + private void updateStats() { + if (!mIsShowing || mRootLayout == null) return; + + mRootLayout.removeAllViews(); + + List statViews = new ArrayList<>(); + + // 1) FPS + float fpsVal = GameBarFpsMeter.getInstance(mContext).getFps(); + String fpsStr = fpsVal >= 0 ? String.format(Locale.getDefault(), "%.0f", fpsVal) : "N/A"; + if (mShowFps) { + statViews.add(createStatLine("FPS", fpsStr)); + } + + // 2) Battery temp + String batteryTempStr = "N/A"; + if (mShowBatteryTemp) { + String tmp = readLine(BATTERY_TEMP_PATH); + if (tmp != null && !tmp.isEmpty()) { + try { + int raw = Integer.parseInt(tmp.trim()); + float c = raw / 10f; + batteryTempStr = String.format(Locale.getDefault(), "%.1f", c); + } catch (NumberFormatException ignored) {} + } + statViews.add(createStatLine("Temp", batteryTempStr + "°C")); + } + + // 3) CPU usage + String cpuUsageStr = "N/A"; + if (mShowCpuUsage) { + cpuUsageStr = GameBarCpuInfo.getCpuUsage(); + String display = "N/A".equals(cpuUsageStr) ? "N/A" : cpuUsageStr + "%"; + statViews.add(createStatLine("CPU", display)); + } + + // 4) CPU freq + if (mShowCpuClock) { + List freqs = GameBarCpuInfo.getCpuFrequencies(); + if (!freqs.isEmpty()) { + statViews.add(buildCpuFreqView(freqs)); + } + } + + // 5) CPU temp + String cpuTempStr = "N/A"; + if (mShowCpuTemp) { + cpuTempStr = GameBarCpuInfo.getCpuTemp(); + statViews.add(createStatLine("CPU Temp", "N/A".equals(cpuTempStr) ? "N/A" : cpuTempStr + "°C")); + } + + // 6) RAM usage + String ramStr = "N/A"; + if (mShowRam) { + ramStr = GameBarMemInfo.getRamUsage(); + statViews.add(createStatLine("RAM", "N/A".equals(ramStr) ? "N/A" : ramStr + " MB")); + } + + // 7) GPU usage + String gpuUsageStr = "N/A"; + if (mShowGpuUsage) { + gpuUsageStr = GameBarGpuInfo.getGpuUsage(); + statViews.add(createStatLine("GPU", "N/A".equals(gpuUsageStr) ? "N/A" : gpuUsageStr + "%")); + } + + // 8) GPU clock + String gpuClockStr = "N/A"; + if (mShowGpuClock) { + gpuClockStr = GameBarGpuInfo.getGpuClock(); + statViews.add(createStatLine("GPU Freq", "N/A".equals(gpuClockStr) ? "N/A" : gpuClockStr + "MHz")); + } + + // 9) GPU temp + String gpuTempStr = "N/A"; + if (mShowGpuTemp) { + gpuTempStr = GameBarGpuInfo.getGpuTemp(); + statViews.add(createStatLine("GPU Temp", "N/A".equals(gpuTempStr) ? "N/A" : gpuTempStr + "°C")); + } + + if ("side_by_side".equals(mSplitMode)) { + mRootLayout.setOrientation(LinearLayout.HORIZONTAL); + if ("minimal".equals(mOverlayFormat)) { + for (int i = 0; i < statViews.size(); i++) { + mRootLayout.addView(statViews.get(i)); + if (i < statViews.size() - 1) { + mRootLayout.addView(createDotView()); + } + } + } else { + for (View view : statViews) { + mRootLayout.addView(view); + } + } + } else { + mRootLayout.setOrientation(LinearLayout.VERTICAL); + for (View view : statViews) { + mRootLayout.addView(view); + } + } + + if (GameDataExport.getInstance().isCapturing()) { + String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(new Date()); + String pkgName = ForegroundAppDetector.getForegroundPackageName(mContext); + + GameDataExport.getInstance().addOverlayData( + dateTime, + pkgName, + fpsStr, + batteryTempStr, + cpuUsageStr, + cpuTempStr, + gpuUsageStr, + gpuClockStr, + gpuTempStr + ); + } + + if (mLayoutParams != null) { + mWindowManager.updateViewLayout(mOverlayView, mLayoutParams); + } + } + + private View buildCpuFreqView(List freqs) { + LinearLayout freqContainer = new LinearLayout(mContext); + freqContainer.setOrientation(LinearLayout.HORIZONTAL); + + int spacingPx = dpToPx(mContext, mItemSpacingDp); + LinearLayout.LayoutParams outerLp = new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ); + outerLp.setMargins(spacingPx, spacingPx / 2, spacingPx, spacingPx / 2); + freqContainer.setLayoutParams(outerLp); + + if ("full".equals(mOverlayFormat)) { + TextView labelTv = new TextView(mContext); + labelTv.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + labelTv.setTextColor(Color.parseColor(mTitleColorHex)); + } catch (Exception e) { + labelTv.setTextColor(Color.WHITE); + } + labelTv.setText("CPU Freq "); + freqContainer.addView(labelTv); + } + + LinearLayout verticalFreqs = new LinearLayout(mContext); + verticalFreqs.setOrientation(LinearLayout.VERTICAL); + + for (String freqLine : freqs) { + LinearLayout lineLayout = new LinearLayout(mContext); + lineLayout.setOrientation(LinearLayout.HORIZONTAL); + + TextView freqTv = new TextView(mContext); + freqTv.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + freqTv.setTextColor(Color.parseColor(mValueColorHex)); + } catch (Exception e) { + freqTv.setTextColor(Color.WHITE); + } + freqTv.setText(freqLine); + + lineLayout.addView(freqTv); + + LinearLayout.LayoutParams lineLp = new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ); + lineLp.setMargins(spacingPx, spacingPx / 4, spacingPx, spacingPx / 4); + lineLayout.setLayoutParams(lineLp); + + verticalFreqs.addView(lineLayout); + } + + freqContainer.addView(verticalFreqs); + return freqContainer; + } + + private LinearLayout createStatLine(String title, String rawValue) { + LinearLayout lineLayout = new LinearLayout(mContext); + lineLayout.setOrientation(LinearLayout.HORIZONTAL); + + if ("full".equals(mOverlayFormat)) { + TextView tvTitle = new TextView(mContext); + tvTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + tvTitle.setTextColor(Color.parseColor(mTitleColorHex)); + } catch (Exception e) { + tvTitle.setTextColor(Color.WHITE); + } + tvTitle.setText(title.isEmpty() ? "" : title + " "); + + TextView tvValue = new TextView(mContext); + tvValue.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + tvValue.setTextColor(Color.parseColor(mValueColorHex)); + } catch (Exception e) { + tvValue.setTextColor(Color.WHITE); + } + tvValue.setText(rawValue); + + lineLayout.addView(tvTitle); + lineLayout.addView(tvValue); + } else { + TextView tvMinimal = new TextView(mContext); + tvMinimal.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + tvMinimal.setTextColor(Color.parseColor(mValueColorHex)); + } catch (Exception e) { + tvMinimal.setTextColor(Color.WHITE); + } + tvMinimal.setText(rawValue); + lineLayout.addView(tvMinimal); + } + + int spacingPx = dpToPx(mContext, mItemSpacingDp); + LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ); + lp.setMargins(spacingPx, spacingPx / 2, spacingPx, spacingPx / 2); + lineLayout.setLayoutParams(lp); + + return lineLayout; + } + + private View createDotView() { + TextView dotView = new TextView(mContext); + dotView.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSizeSp); + try { + dotView.setTextColor(Color.parseColor(mValueColorHex)); + } catch (Exception e) { + dotView.setTextColor(Color.WHITE); + } + dotView.setText(" . "); + return dotView; + } + + public void setShowBatteryTemp(boolean show) { mShowBatteryTemp = show; } + public void setShowCpuUsage(boolean show) { mShowCpuUsage = show; } + public void setShowCpuClock(boolean show) { mShowCpuClock = show; } + public void setShowCpuTemp(boolean show) { mShowCpuTemp = show; } + public void setShowRam(boolean show) { mShowRam = show; } + public void setShowFps(boolean show) { mShowFps = show; } + + public void setShowGpuUsage(boolean show) { mShowGpuUsage = show; } + public void setShowGpuClock(boolean show) { mShowGpuClock = show; } + public void setShowGpuTemp(boolean show) { mShowGpuTemp = show; } + + public void updateTextSize(int sp) { + mTextSizeSp = sp; + } + + public void updateCornerRadius(int radius) { + mCornerRadius = radius; + applyBackgroundStyle(); + } + + public void updateBackgroundAlpha(int alpha) { + mBackgroundAlpha = alpha; + applyBackgroundStyle(); + } + + public void updatePadding(int dp) { + mPaddingDp = dp; + applyPadding(); + } + + public void updateTitleColor(String hex) { + mTitleColorHex = hex; + } + + public void updateValueColor(String hex) { + mValueColorHex = hex; + } + + public void updateOverlayFormat(String format) { + mOverlayFormat = format; + if (mIsShowing) { + updateStats(); + } + } + + public void updateItemSpacing(int dp) { + mItemSpacingDp = dp; + if (mIsShowing) { + updateStats(); + } + } + + private void applyBackgroundStyle() { + int color = Color.argb(mBackgroundAlpha, 0, 0, 0); + mBgDrawable.setColor(color); + mBgDrawable.setCornerRadius(mCornerRadius); + + if (mOverlayView != null) { + mOverlayView.setBackground(mBgDrawable); + } + } + + private void applyPadding() { + if (mRootLayout != null) { + int px = dpToPx(mContext, mPaddingDp); + mRootLayout.setPadding(px, px, px, px); + } + } + + public void updatePosition(String pos) { + mPosition = pos; + if (mIsShowing && mOverlayView != null && mLayoutParams != null) { + if ("draggable".equals(mPosition)) { + mDraggable = true; + loadSavedPosition(mLayoutParams); + if (mLayoutParams.x == 0 && mLayoutParams.y == 0) { + mLayoutParams.gravity = Gravity.TOP | Gravity.START; + mLayoutParams.x = 0; + mLayoutParams.y = 100; + } + } else { + mDraggable = false; + applyPosition(mLayoutParams, mPosition); + } + mWindowManager.updateViewLayout(mOverlayView, mLayoutParams); + } + } + + public void updateSplitMode(String mode) { + mSplitMode = mode; + if (mIsShowing && mOverlayView != null) { + applySplitMode(); + updateStats(); + } + } + + public void updateUpdateInterval(String intervalStr) { + try { + mUpdateIntervalMs = Integer.parseInt(intervalStr); + } catch (NumberFormatException e) { + mUpdateIntervalMs = 1000; + } + if (mIsShowing) { + startUpdates(); + } + } + + public void setLongPressEnabled(boolean enabled) { + mLongPressEnabled = enabled; + } + public void setLongPressThresholdMs(long ms) { + mLongPressThresholdMs = ms; + } + + public void setDoubleTapCaptureEnabled(boolean enabled) { + mDoubleTapCaptureEnabled = enabled; + } + + public void setSingleTapToggleEnabled(boolean enabled) { + mSingleTapToggleEnabled = enabled; + } + + private void startUpdates() { + mHandler.removeCallbacksAndMessages(null); + mHandler.post(mUpdateRunnable); + } + + private void applySplitMode() { + if (mRootLayout == null) return; + if ("side_by_side".equals(mSplitMode)) { + mRootLayout.setOrientation(LinearLayout.HORIZONTAL); + } else { + mRootLayout.setOrientation(LinearLayout.VERTICAL); + } + } + + private void loadSavedPosition(WindowManager.LayoutParams lp) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); + int savedX = prefs.getInt(PREF_KEY_X, Integer.MIN_VALUE); + int savedY = prefs.getInt(PREF_KEY_Y, Integer.MIN_VALUE); + if (savedX != Integer.MIN_VALUE && savedY != Integer.MIN_VALUE) { + lp.gravity = Gravity.TOP | Gravity.START; + lp.x = savedX; + lp.y = savedY; + } + } + + private void applyPosition(WindowManager.LayoutParams lp, String pos) { + switch (pos) { + case "top_left": + lp.gravity = Gravity.TOP | Gravity.START; + lp.x = 0; + lp.y = 100; + break; + case "top_center": + lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; + lp.y = 100; + break; + case "top_right": + lp.gravity = Gravity.TOP | Gravity.END; + lp.x = 0; + lp.y = 100; + break; + case "bottom_left": + lp.gravity = Gravity.BOTTOM | Gravity.START; + lp.x = 0; + lp.y = 100; + break; + case "bottom_center": + lp.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; + lp.y = 100; + break; + case "bottom_right": + lp.gravity = Gravity.BOTTOM | Gravity.END; + lp.x = 0; + lp.y = 100; + break; + default: + lp.gravity = Gravity.TOP | Gravity.START; + lp.x = 0; + lp.y = 100; + break; + } + } + + private String readLine(String path) { + try (BufferedReader br = new BufferedReader(new FileReader(path))) { + return br.readLine(); + } catch (IOException e) { + return null; + } + } + + private void openOverlaySettings() { + try { + Intent intent = new Intent(mContext, GameBarSettingsActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(intent); + } catch (Exception e) { + // Exception ignored + } + } + + private static int dpToPx(Context context, int dp) { + float scale = context.getResources().getDisplayMetrics().density; + return Math.round(dp * scale); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverActivity.java new file mode 100644 index 0000000..1ee1409 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverActivity.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.os.Bundle; +import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; +import org.lineageos.device.DeviceSettings.R; + +public class GameBarAppRemoverActivity extends CollapsingToolbarBaseActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_game_bar_app_selector); + setTitle("Remove Auto-Enable Apps"); + + if (savedInstanceState == null) { + getSupportFragmentManager().beginTransaction() + .replace(R.id.content_frame, new GameBarAppRemoverFragment()) + .commit(); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverFragment.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverFragment.java new file mode 100644 index 0000000..f794b60 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppRemoverFragment.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; +import org.lineageos.device.DeviceSettings.R; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class GameBarAppRemoverFragment extends Fragment { + + private RecyclerView recyclerView; + private GameBarAutoAppsAdapter adapter; + private PackageManager packageManager; + private List autoAppsList; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.game_bar_app_selector, container, false); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + recyclerView = view.findViewById(R.id.app_list); + packageManager = getContext().getPackageManager(); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + loadAutoApps(); + } + + private void loadAutoApps() { + Set autoAppsSet = getSavedAutoApps(); + autoAppsList = new ArrayList<>(); + for (String pkg : autoAppsSet) { + try { + ApplicationInfo info = packageManager.getApplicationInfo(pkg, 0); + autoAppsList.add(info); + } catch (PackageManager.NameNotFoundException e) { + } + } + adapter = new GameBarAutoAppsAdapter(packageManager, autoAppsList, new GameBarAutoAppsAdapter.OnAppRemoveListener() { + @Override + public void onAppRemove(ApplicationInfo appInfo) { + removeAppFromAutoList(appInfo.packageName); + Toast.makeText(getContext(), appInfo.loadLabel(packageManager) + " removed.", Toast.LENGTH_SHORT).show(); + autoAppsList.remove(appInfo); + adapter.notifyDataSetChanged(); + } + }); + recyclerView.setAdapter(adapter); + } + + private Set getSavedAutoApps() { + return PreferenceManager.getDefaultSharedPreferences(getContext()) + .getStringSet(GameBarAppSelectorFragment.PREF_AUTO_APPS, new HashSet<>()); + } + + private void removeAppFromAutoList(String packageName) { + Set autoApps = new HashSet<>(getSavedAutoApps()); + autoApps.remove(packageName); + PreferenceManager.getDefaultSharedPreferences(getContext()) + .edit().putStringSet(GameBarAppSelectorFragment.PREF_AUTO_APPS, autoApps).apply(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorActivity.java new file mode 100644 index 0000000..f486be7 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorActivity.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.os.Bundle; +import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; +import org.lineageos.device.DeviceSettings.R; + +public class GameBarAppSelectorActivity extends CollapsingToolbarBaseActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_game_bar_app_selector); + setTitle("Select Apps for GameBar"); + + if (savedInstanceState == null) { + getSupportFragmentManager().beginTransaction() + .replace(R.id.content_frame, new GameBarAppSelectorFragment()) + .commit(); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorFragment.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorFragment.java new file mode 100644 index 0000000..e390190 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppSelectorFragment.java @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; +import org.lineageos.device.DeviceSettings.R; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class GameBarAppSelectorFragment extends Fragment { + + public static final String PREF_AUTO_APPS = "game_bar_auto_apps"; + + private RecyclerView recyclerView; + private GameBarAppsAdapter adapter; + private PackageManager packageManager; + private List allApps; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.game_bar_app_selector, container, false); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + recyclerView = view.findViewById(R.id.app_list); + packageManager = getContext().getPackageManager(); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + loadApps(); + } + + private void loadApps() { + allApps = new ArrayList<>(); + List installedApps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA); + Set autoApps = getSavedAutoApps(); + for (ApplicationInfo appInfo : installedApps) { + if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 && + !appInfo.packageName.equals(getContext().getPackageName()) && + !autoApps.contains(appInfo.packageName)) { + allApps.add(appInfo); + } + } + adapter = new GameBarAppsAdapter(packageManager, allApps, new GameBarAppsAdapter.OnAppClickListener() { + @Override + public void onAppClick(ApplicationInfo appInfo) { + addAppToAutoList(appInfo.packageName); + Toast.makeText(getContext(), appInfo.loadLabel(packageManager) + " added.", Toast.LENGTH_SHORT).show(); + allApps.remove(appInfo); + adapter.notifyDataSetChanged(); + } + }); + recyclerView.setAdapter(adapter); + } + + private Set getSavedAutoApps() { + return PreferenceManager.getDefaultSharedPreferences(getContext()) + .getStringSet(PREF_AUTO_APPS, new HashSet<>()); + } + + private void addAppToAutoList(String packageName) { + Set autoApps = new HashSet<>(getSavedAutoApps()); + autoApps.add(packageName); + PreferenceManager.getDefaultSharedPreferences(getContext()) + .edit().putStringSet(PREF_AUTO_APPS, autoApps).apply(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppsAdapter.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppsAdapter.java new file mode 100644 index 0000000..405aba2 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAppsAdapter.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; +import org.lineageos.device.DeviceSettings.R; +import java.util.List; + +public class GameBarAppsAdapter extends RecyclerView.Adapter { + + public interface OnAppClickListener { + void onAppClick(ApplicationInfo appInfo); + } + + private PackageManager packageManager; + private List apps; + private OnAppClickListener listener; + + public GameBarAppsAdapter(PackageManager packageManager, List apps, OnAppClickListener listener) { + this.packageManager = packageManager; + this.apps = apps; + this.listener = listener; + } + + @NonNull + @Override + public GameBarAppsAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.game_bar_app_selector_item, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull GameBarAppsAdapter.ViewHolder holder, int position) { + final ApplicationInfo appInfo = apps.get(position); + holder.appName.setText(appInfo.loadLabel(packageManager)); + holder.appPackage.setText(appInfo.packageName); + holder.appIcon.setImageDrawable(appInfo.loadIcon(packageManager)); + holder.itemView.setOnClickListener(v -> { + if (listener != null) { + listener.onAppClick(appInfo); + } + }); + } + + @Override + public int getItemCount() { + return apps.size(); + } + + public static class ViewHolder extends RecyclerView.ViewHolder { + TextView appName; + TextView appPackage; + ImageView appIcon; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + appName = itemView.findViewById(R.id.app_name); + appPackage = itemView.findViewById(R.id.app_package); + appIcon = itemView.findViewById(R.id.app_icon); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAutoAppsAdapter.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAutoAppsAdapter.java new file mode 100644 index 0000000..c197c2a --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarAutoAppsAdapter.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; +import org.lineageos.device.DeviceSettings.R; +import java.util.List; + +public class GameBarAutoAppsAdapter extends RecyclerView.Adapter { + + public interface OnAppRemoveListener { + void onAppRemove(ApplicationInfo appInfo); + } + + private PackageManager packageManager; + private List apps; + private OnAppRemoveListener listener; + + public GameBarAutoAppsAdapter(PackageManager packageManager, List apps, OnAppRemoveListener listener) { + this.packageManager = packageManager; + this.apps = apps; + this.listener = listener; + } + + @NonNull + @Override + public GameBarAutoAppsAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.game_bar_app_selector_item, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull GameBarAutoAppsAdapter.ViewHolder holder, int position) { + final ApplicationInfo appInfo = apps.get(position); + holder.appName.setText(appInfo.loadLabel(packageManager)); + holder.appPackage.setText(appInfo.packageName); + holder.appIcon.setImageDrawable(appInfo.loadIcon(packageManager)); + holder.itemView.setOnClickListener(v -> { + if (listener != null) { + listener.onAppRemove(appInfo); + } + }); + } + + @Override + public int getItemCount() { + return apps.size(); + } + + public static class ViewHolder extends RecyclerView.ViewHolder { + TextView appName; + TextView appPackage; + ImageView appIcon; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + appName = itemView.findViewById(R.id.app_name); + appPackage = itemView.findViewById(R.id.app_package); + appIcon = itemView.findViewById(R.id.app_icon); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarBootReceiver.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarBootReceiver.java new file mode 100644 index 0000000..8131ef3 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarBootReceiver.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import androidx.preference.PreferenceManager; + +public class GameBarBootReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (Intent.ACTION_BOOT_COMPLETED.equals(action) + || Intent.ACTION_LOCKED_BOOT_COMPLETED.equals(action)) { + restoreOverlayState(context); + } + } + + private void restoreOverlayState(Context context) { + var prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean mainEnabled = prefs.getBoolean("game_bar_enable", false); + boolean autoEnabled = prefs.getBoolean("game_bar_auto_enable", false); + if (mainEnabled) { + GameBar.getInstance(context).applyPreferences(); + GameBar.getInstance(context).show(); + } + if (autoEnabled) { + Intent monitorIntent = new Intent(context, GameBarMonitorService.class); + context.startService(monitorIntent); + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarCpuInfo.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarCpuInfo.java new file mode 100644 index 0000000..3f4000f --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarCpuInfo.java @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class GameBarCpuInfo { + + private static long sPrevIdle = -1; + private static long sPrevTotal = -1; + + private static final String CPU_TEMP_PATH = "/sys/class/thermal/thermal_zone0/temp"; + + public static String getCpuUsage() { + String line = readLine("/proc/stat"); + if (line == null || !line.startsWith("cpu ")) return "N/A"; + String[] parts = line.split("\\s+"); + if (parts.length < 8) return "N/A"; + + try { + long user = Long.parseLong(parts[1]); + long nice = Long.parseLong(parts[2]); + long system = Long.parseLong(parts[3]); + long idle = Long.parseLong(parts[4]); + long iowait = Long.parseLong(parts[5]); + long irq = Long.parseLong(parts[6]); + long softirq = Long.parseLong(parts[7]); + long steal = parts.length > 8 ? Long.parseLong(parts[8]) : 0; + + long total = user + nice + system + idle + iowait + irq + softirq + steal; + + if (sPrevTotal != -1 && total != sPrevTotal) { + long diffTotal = total - sPrevTotal; + long diffIdle = idle - sPrevIdle; + long usage = 100 * (diffTotal - diffIdle) / diffTotal; + sPrevTotal = total; + sPrevIdle = idle; + return String.valueOf(usage); + } else { + + sPrevTotal = total; + sPrevIdle = idle; + return "N/A"; + } + } catch (NumberFormatException e) { + return "N/A"; + } + } + + public static List getCpuFrequencies() { + List result = new ArrayList<>(); + String cpuDirPath = "/sys/devices/system/cpu/"; + java.io.File cpuDir = new java.io.File(cpuDirPath); + java.io.File[] files = cpuDir.listFiles((dir, name) -> name.matches("cpu\\d+")); + if (files == null || files.length == 0) { + return result; + } + + List cpuFolders = new ArrayList<>(); + Collections.addAll(cpuFolders, files); + cpuFolders.sort(Comparator.comparingInt(GameBarCpuInfo::extractCpuNumber)); + + for (java.io.File cpu : cpuFolders) { + String freqPath = cpu.getAbsolutePath() + "/cpufreq/scaling_cur_freq"; + String freqStr = readLine(freqPath); + if (freqStr != null && !freqStr.isEmpty()) { + try { + int khz = Integer.parseInt(freqStr.trim()); + int mhz = khz / 1000; + result.add(cpu.getName() + ": " + mhz + " MHz"); + } catch (NumberFormatException e) { + result.add(cpu.getName() + ": N/A"); + } + } else { + result.add(cpu.getName() + ": offline or frequency not available"); + } + } + return result; + } + + public static String getCpuTemp() { + String line = readLine(CPU_TEMP_PATH); + if (line == null) return "N/A"; + line = line.trim(); + try { + float raw = Float.parseFloat(line); + float c = raw / 1000f; + return String.format("%.1f", c); + } catch (NumberFormatException e) { + return "N/A"; + } + } + + private static int extractCpuNumber(java.io.File cpuFolder) { + String name = cpuFolder.getName().replace("cpu", ""); + try { + return Integer.parseInt(name); + } catch (NumberFormatException e) { + return -1; + } + } + + private static String readLine(String path) { + try (BufferedReader br = new BufferedReader(new FileReader(path))) { + return br.readLine(); + } catch (IOException e) { + return null; + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFpsMeter.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFpsMeter.java new file mode 100644 index 0000000..5947203 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFpsMeter.java @@ -0,0 +1,187 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.Context; +import android.content.SharedPreferences; +import android.os.Build; +import android.view.WindowManager; +import android.window.TaskFpsCallback; + +import androidx.preference.PreferenceManager; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +public class GameBarFpsMeter { + + private static final float TOLERANCE = 0.1f; + private static final long STALENESS_THRESHOLD_MS = 2000; + private static final long TASK_CHECK_INTERVAL_MS = 1000; + + private static GameBarFpsMeter sInstance; + private final Context mContext; + private final WindowManager mWindowManager; + private final SharedPreferences mPrefs; + private float mCurrentFps = 0f; + private TaskFpsCallback mTaskFpsCallback; + private boolean mCallbackRegistered = false; + private int mCurrentTaskId = -1; + private long mLastFpsUpdateTime = System.currentTimeMillis(); + private final android.os.Handler mHandler = new android.os.Handler(); + + public static synchronized GameBarFpsMeter getInstance(Context context) { + if (sInstance == null) { + sInstance = new GameBarFpsMeter(context.getApplicationContext()); + } + return sInstance; + } + + private GameBarFpsMeter(Context context) { + mContext = context; + mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + mTaskFpsCallback = new TaskFpsCallback() { + @Override + public void onFpsReported(float fps) { + if (fps > 0) { + mCurrentFps = fps; + mLastFpsUpdateTime = System.currentTimeMillis(); + } + } + }; + } + } + + public void start() { + String method = mPrefs.getString("game_bar_fps_method", "new"); + if (!"new".equals(method)) return; + + stop(); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + int taskId = getFocusedTaskId(); + if (taskId <= 0) { + return; + } + mCurrentTaskId = taskId; + try { + mWindowManager.registerTaskFpsCallback(mCurrentTaskId, Runnable::run, mTaskFpsCallback); + mCallbackRegistered = true; + } catch (Exception e) { + } + mLastFpsUpdateTime = System.currentTimeMillis(); + mHandler.postDelayed(mTaskCheckRunnable, TASK_CHECK_INTERVAL_MS); + } + } + + public void stop() { + String method = mPrefs.getString("game_bar_fps_method", "new"); + if ("new".equals(method) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + if (mCallbackRegistered) { + try { + mWindowManager.unregisterTaskFpsCallback(mTaskFpsCallback); + } catch (Exception e) { + } + mCallbackRegistered = false; + } + mHandler.removeCallbacks(mTaskCheckRunnable); + } + } + + public float getFps() { + String method = mPrefs.getString("game_bar_fps_method", "new"); + if ("legacy".equals(method)) { + return readLegacyFps(); + } else { + return mCurrentFps; + } + } + + private float readLegacyFps() { + try (BufferedReader br = new BufferedReader(new FileReader("/sys/class/drm/sde-crtc-0/measured_fps"))) { + String line = br.readLine(); + if (line != null && line.startsWith("fps:")) { + String[] parts = line.split("\\s+"); + if (parts.length >= 2) { + return Float.parseFloat(parts[1].trim()); + } + } + } catch (IOException | NumberFormatException e) { + } + return -1f; + } + + private final Runnable mTaskCheckRunnable = new Runnable() { + @Override + public void run() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + int newTaskId = getFocusedTaskId(); + if (newTaskId > 0 && newTaskId != mCurrentTaskId) { + reinitCallback(); + } else { + long now = System.currentTimeMillis(); + if (now - mLastFpsUpdateTime > STALENESS_THRESHOLD_MS) { + reinitCallback(); + } + } + mHandler.postDelayed(this, TASK_CHECK_INTERVAL_MS); + } + } + }; + + private int getFocusedTaskId() { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + return -1; + } + try { + Class atmClass = Class.forName("android.app.ActivityTaskManager"); + Method getServiceMethod = atmClass.getDeclaredMethod("getService"); + Object atmService = getServiceMethod.invoke(null); + Method getFocusedRootTaskInfoMethod = atmService.getClass().getMethod("getFocusedRootTaskInfo"); + Object taskInfo = getFocusedRootTaskInfoMethod.invoke(atmService); + if (taskInfo != null) { + try { + Field taskIdField = taskInfo.getClass().getField("taskId"); + return taskIdField.getInt(taskInfo); + } catch (NoSuchFieldException nsfe) { + try { + Field taskIdField = taskInfo.getClass().getField("mTaskId"); + return taskIdField.getInt(taskInfo); + } catch (NoSuchFieldException nsfe2) { + } + } + } + } catch (Exception e) { + } + return -1; + } + + private void reinitCallback() { + stop(); + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + start(); + } + }, 500); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFragment.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFragment.java new file mode 100644 index 0000000..5638572 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarFragment.java @@ -0,0 +1,394 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.provider.Settings; +import android.widget.Toast; + +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.SeekBarPreference; +import androidx.preference.SwitchPreference; +import androidx.preference.SwitchPreferenceCompat; + +import com.android.settingslib.widget.MainSwitchPreference; + +import org.lineageos.device.DeviceSettings.R; + +public class GameBarFragment extends PreferenceFragmentCompat { + + private GameBar mGameBar; + private MainSwitchPreference mMasterSwitch; + private SwitchPreferenceCompat mAutoEnableSwitch; + private SwitchPreferenceCompat mFpsSwitch; + private SwitchPreferenceCompat mBatteryTempSwitch; + private SwitchPreferenceCompat mCpuUsageSwitch; + private SwitchPreferenceCompat mCpuClockSwitch; + private SwitchPreferenceCompat mCpuTempSwitch; + private SwitchPreferenceCompat mRamSwitch; + private SwitchPreferenceCompat mGpuUsageSwitch; + private SwitchPreferenceCompat mGpuClockSwitch; + private SwitchPreferenceCompat mGpuTempSwitch; + private Preference mCaptureStartPref; + private Preference mCaptureStopPref; + private Preference mCaptureExportPref; + private SwitchPreferenceCompat mDoubleTapCapturePref; + private SwitchPreferenceCompat mSingleTapTogglePref; + private SwitchPreferenceCompat mLongPressEnablePref; + private ListPreference mLongPressTimeoutPref; + private SeekBarPreference mTextSizePref; + private SeekBarPreference mBgAlphaPref; + private SeekBarPreference mCornerRadiusPref; + private SeekBarPreference mPaddingPref; + private SeekBarPreference mItemSpacingPref; + private ListPreference mUpdateIntervalPref; + private ListPreference mTextColorPref; + private ListPreference mTitleColorPref; + private ListPreference mValueColorPref; + private ListPreference mPositionPref; + private ListPreference mSplitModePref; + private ListPreference mOverlayFormatPref; + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.game_bar_preferences, rootKey); + + mGameBar = GameBar.getInstance(getContext()); + + // Initialize all preferences. + mMasterSwitch = findPreference("game_bar_enable"); + mAutoEnableSwitch = findPreference("game_bar_auto_enable"); + mFpsSwitch = findPreference("game_bar_fps_enable"); + mBatteryTempSwitch = findPreference("game_bar_temp_enable"); + mCpuUsageSwitch = findPreference("game_bar_cpu_usage_enable"); + mCpuClockSwitch = findPreference("game_bar_cpu_clock_enable"); + mCpuTempSwitch = findPreference("game_bar_cpu_temp_enable"); + mRamSwitch = findPreference("game_bar_ram_enable"); + mGpuUsageSwitch = findPreference("game_bar_gpu_usage_enable"); + mGpuClockSwitch = findPreference("game_bar_gpu_clock_enable"); + mGpuTempSwitch = findPreference("game_bar_gpu_temp_enable"); + + mCaptureStartPref = findPreference("game_bar_capture_start"); + mCaptureStopPref = findPreference("game_bar_capture_stop"); + mCaptureExportPref = findPreference("game_bar_capture_export"); + + mDoubleTapCapturePref = findPreference("game_bar_doubletap_capture"); + mSingleTapTogglePref = findPreference("game_bar_single_tap_toggle"); + mLongPressEnablePref = findPreference("game_bar_longpress_enable"); + mLongPressTimeoutPref = findPreference("game_bar_longpress_timeout"); + + mTextSizePref = findPreference("game_bar_text_size"); + mBgAlphaPref = findPreference("game_bar_background_alpha"); + mCornerRadiusPref = findPreference("game_bar_corner_radius"); + mPaddingPref = findPreference("game_bar_padding"); + mItemSpacingPref = findPreference("game_bar_item_spacing"); + + mUpdateIntervalPref = findPreference("game_bar_update_interval"); + mTextColorPref = findPreference("game_bar_text_color"); + mTitleColorPref = findPreference("game_bar_title_color"); + mValueColorPref = findPreference("game_bar_value_color"); + mPositionPref = findPreference("game_bar_position"); + mSplitModePref = findPreference("game_bar_split_mode"); + mOverlayFormatPref = findPreference("game_bar_format"); + + Preference appSelectorPref = findPreference("game_bar_app_selector"); + if (appSelectorPref != null) { + appSelectorPref.setOnPreferenceClickListener(pref -> { + Intent intent = new Intent(getContext(), GameBarAppSelectorActivity.class); + startActivity(intent); + return true; + }); + } + Preference appRemoverPref = findPreference("game_bar_app_remover"); + if (appRemoverPref != null) { + appRemoverPref.setOnPreferenceClickListener(pref -> { + Intent intent = new Intent(getContext(), GameBarAppRemoverActivity.class); + startActivity(intent); + return true; + }); + } + + if (mMasterSwitch != null) { + mMasterSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + boolean enabled = (boolean) newValue; + if (enabled) { + if (Settings.canDrawOverlays(getContext())) { + mGameBar.applyPreferences(); + mGameBar.show(); + getContext().startService(new Intent(getContext(), GameBarMonitorService.class)); + } else { + Toast.makeText(getContext(), R.string.overlay_permission_required, Toast.LENGTH_SHORT).show(); + return false; + } + } else { + mGameBar.hide(); + if (mAutoEnableSwitch == null || !mAutoEnableSwitch.isChecked()) { + getContext().stopService(new Intent(getContext(), GameBarMonitorService.class)); + } + } + return true; + }); + } + + if (mAutoEnableSwitch != null) { + mAutoEnableSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + boolean autoEnabled = (boolean) newValue; + if (autoEnabled) { + getContext().startService(new Intent(getContext(), GameBarMonitorService.class)); + } else { + if (mMasterSwitch == null || !mMasterSwitch.isChecked()) { + getContext().stopService(new Intent(getContext(), GameBarMonitorService.class)); + } + } + return true; + }); + } + + if (mFpsSwitch != null) { + mFpsSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowFps((boolean) newValue); + return true; + }); + } + if (mBatteryTempSwitch != null) { + mBatteryTempSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowBatteryTemp((boolean) newValue); + return true; + }); + } + if (mCpuUsageSwitch != null) { + mCpuUsageSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowCpuUsage((boolean) newValue); + return true; + }); + } + if (mCpuClockSwitch != null) { + mCpuClockSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowCpuClock((boolean) newValue); + return true; + }); + } + if (mCpuTempSwitch != null) { + mCpuTempSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowCpuTemp((boolean) newValue); + return true; + }); + } + if (mRamSwitch != null) { + mRamSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowRam((boolean) newValue); + return true; + }); + } + if (mGpuUsageSwitch != null) { + mGpuUsageSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowGpuUsage((boolean) newValue); + return true; + }); + } + if (mGpuClockSwitch != null) { + mGpuClockSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowGpuClock((boolean) newValue); + return true; + }); + } + if (mGpuTempSwitch != null) { + mGpuTempSwitch.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setShowGpuTemp((boolean) newValue); + return true; + }); + } + if (mCaptureStartPref != null) { + mCaptureStartPref.setOnPreferenceClickListener(pref -> { + GameDataExport.getInstance().startCapture(); + Toast.makeText(getContext(), "Started logging Data", Toast.LENGTH_SHORT).show(); + return true; + }); + } + if (mCaptureStopPref != null) { + mCaptureStopPref.setOnPreferenceClickListener(pref -> { + GameDataExport.getInstance().stopCapture(); + Toast.makeText(getContext(), "Stopped logging Data", Toast.LENGTH_SHORT).show(); + return true; + }); + } + if (mCaptureExportPref != null) { + mCaptureExportPref.setOnPreferenceClickListener(pref -> { + GameDataExport.getInstance().exportDataToCsv(); + Toast.makeText(getContext(), "Exported log data to file", Toast.LENGTH_SHORT).show(); + return true; + }); + } + if (mDoubleTapCapturePref != null) { + mDoubleTapCapturePref.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setDoubleTapCaptureEnabled((boolean) newValue); + return true; + }); + } + if (mSingleTapTogglePref != null) { + mSingleTapTogglePref.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setSingleTapToggleEnabled((boolean) newValue); + return true; + }); + } + if (mLongPressEnablePref != null) { + mLongPressEnablePref.setOnPreferenceChangeListener((pref, newValue) -> { + mGameBar.setLongPressEnabled((boolean) newValue); + return true; + }); + } + if (mLongPressTimeoutPref != null) { + mLongPressTimeoutPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + long ms = Long.parseLong((String) newValue); + mGameBar.setLongPressThresholdMs(ms); + } + return true; + }); + } + if (mTextSizePref != null) { + mTextSizePref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof Integer) { + mGameBar.updateTextSize((Integer) newValue); + } + return true; + }); + } + if (mBgAlphaPref != null) { + mBgAlphaPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof Integer) { + mGameBar.updateBackgroundAlpha((Integer) newValue); + } + return true; + }); + } + if (mCornerRadiusPref != null) { + mCornerRadiusPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof Integer) { + mGameBar.updateCornerRadius((Integer) newValue); + } + return true; + }); + } + if (mPaddingPref != null) { + mPaddingPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof Integer) { + mGameBar.updatePadding((Integer) newValue); + } + return true; + }); + } + if (mItemSpacingPref != null) { + mItemSpacingPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof Integer) { + mGameBar.updateItemSpacing((Integer) newValue); + } + return true; + }); + } + if (mUpdateIntervalPref != null) { + mUpdateIntervalPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updateUpdateInterval((String) newValue); + } + return true; + }); + } + if (mTextColorPref != null) { + mTextColorPref.setOnPreferenceChangeListener((pref, newValue) -> true); + } + if (mTitleColorPref != null) { + mTitleColorPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updateTitleColor((String) newValue); + } + return true; + }); + } + if (mValueColorPref != null) { + mValueColorPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updateValueColor((String) newValue); + } + return true; + }); + } + if (mPositionPref != null) { + mPositionPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updatePosition((String) newValue); + } + return true; + }); + } + if (mSplitModePref != null) { + mSplitModePref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updateSplitMode((String) newValue); + } + return true; + }); + } + if (mOverlayFormatPref != null) { + mOverlayFormatPref.setOnPreferenceChangeListener((pref, newValue) -> { + if (newValue instanceof String) { + mGameBar.updateOverlayFormat((String) newValue); + } + return true; + }); + } + } + + @Override + public void onResume() { + super.onResume(); + if (!hasUsageStatsPermission(requireContext())) { + requestUsageStatsPermission(); + } + Context context = getContext(); + if (context != null) { + if ((mMasterSwitch != null && mMasterSwitch.isChecked()) || + (mAutoEnableSwitch != null && mAutoEnableSwitch.isChecked())) { + context.startService(new Intent(context, GameBarMonitorService.class)); + } else { + context.stopService(new Intent(context, GameBarMonitorService.class)); + } + } + } + + private boolean hasUsageStatsPermission(Context context) { + android.app.AppOpsManager appOps = (android.app.AppOpsManager) + context.getSystemService(Context.APP_OPS_SERVICE); + if (appOps == null) return false; + int mode = appOps.checkOpNoThrow( + android.app.AppOpsManager.OPSTR_GET_USAGE_STATS, + android.os.Process.myUid(), + context.getPackageName() + ); + return (mode == android.app.AppOpsManager.MODE_ALLOWED); + } + + private void requestUsageStatsPermission() { + Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); + startActivity(intent); + } +} + diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarGpuInfo.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarGpuInfo.java new file mode 100644 index 0000000..afee061 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarGpuInfo.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; + +public class GameBarGpuInfo { + + private static final String GPU_USAGE_PATH = "/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage"; + private static final String GPU_CLOCK_PATH = "/sys/class/kgsl/kgsl-3d0/gpuclk"; + private static final String GPU_TEMP_PATH = "/sys/class/kgsl/kgsl-3d0/temp"; + + public static String getGpuUsage() { + String line = readLine(GPU_USAGE_PATH); + if (line == null) { + return "N/A"; + } + line = line.replace("%", "").trim(); + try { + int val = Integer.parseInt(line); + return String.valueOf(val); + } catch (NumberFormatException e) { + return "N/A"; + } + } + + public static String getGpuClock() { + String line = readLine(GPU_CLOCK_PATH); + if (line == null) { + return "N/A"; + } + line = line.trim(); + try { + long hz = Long.parseLong(line); + long mhz = hz / 1_000_000; + return String.valueOf(mhz); + } catch (NumberFormatException e) { + return "N/A"; + } + } + + public static String getGpuTemp() { + String line = readLine(GPU_TEMP_PATH); + if (line == null) { + return "N/A"; + } + line = line.trim(); + try { + float raw = Float.parseFloat(line); + float c = raw / 1000f; + return String.format("%.1f", c); + } catch (NumberFormatException e) { + return "N/A"; + } + } + + private static String readLine(String path) { + try (BufferedReader br = new BufferedReader(new FileReader(path))) { + return br.readLine(); + } catch (IOException e) { + return null; + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMemInfo.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMemInfo.java new file mode 100644 index 0000000..a2fcf9f --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMemInfo.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; + +public class GameBarMemInfo { + + public static String getRamUsage() { + long memTotal = 0; + long memAvailable = 0; + + try (BufferedReader br = new BufferedReader(new FileReader("/proc/meminfo"))) { + String line; + while ((line = br.readLine()) != null) { + if (line.startsWith("MemTotal:")) { + memTotal = parseMemValue(line); + } else if (line.startsWith("MemAvailable:")) { + memAvailable = parseMemValue(line); + } + if (memTotal > 0 && memAvailable > 0) { + break; + } + } + } catch (IOException e) { + return "N/A"; + } + + if (memTotal == 0) { + return "N/A"; + } + + long usedKb = (memTotal - memAvailable); + long usedMb = usedKb / 1024; + return String.valueOf(usedMb); + } + + private static long parseMemValue(String line) { + String[] parts = line.split("\\s+"); + if (parts.length < 3) { + return 0; + } + try { + return Long.parseLong(parts[1]); + } catch (NumberFormatException e) { + return 0; + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMonitorService.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMonitorService.java new file mode 100644 index 0000000..c00e9c4 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarMonitorService.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.app.Service; +import android.content.Intent; +import android.os.Handler; +import android.os.IBinder; +import androidx.preference.PreferenceManager; +import java.util.HashSet; +import java.util.Set; + +public class GameBarMonitorService extends Service { + + private Handler mHandler; + private Runnable mMonitorRunnable; + private static final long MONITOR_INTERVAL = 2000; // 2 seconds + + @Override + public void onCreate() { + super.onCreate(); + mHandler = new Handler(); + mMonitorRunnable = new Runnable() { + @Override + public void run() { + monitorForegroundApp(); + mHandler.postDelayed(this, MONITOR_INTERVAL); + } + }; + mHandler.post(mMonitorRunnable); + } + + private void monitorForegroundApp() { + var prefs = PreferenceManager.getDefaultSharedPreferences(this); + boolean masterEnabled = prefs.getBoolean("game_bar_enable", false); + if (masterEnabled) { + GameBar.getInstance(this).applyPreferences(); + GameBar.getInstance(this).show(); + return; + } + + boolean autoEnabled = prefs.getBoolean("game_bar_auto_enable", false); + if (!autoEnabled) { + GameBar.getInstance(this).hide(); + return; + } + + String foreground = ForegroundAppDetector.getForegroundPackageName(this); + Set autoApps = prefs.getStringSet(GameBarAppSelectorFragment.PREF_AUTO_APPS, new HashSet<>()); + if (autoApps.contains(foreground)) { + GameBar.getInstance(this).applyPreferences(); + GameBar.getInstance(this).show(); + } else { + GameBar.getInstance(this).hide(); + } + } + + @Override + public IBinder onBind(Intent intent) { + return null; + } + + @Override + public void onDestroy() { + super.onDestroy(); + mHandler.removeCallbacks(mMonitorRunnable); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarSettingsActivity.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarSettingsActivity.java new file mode 100644 index 0000000..8972306 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarSettingsActivity.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.provider.Settings; +import android.widget.Toast; + +import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; + +import org.lineageos.device.DeviceSettings.R; + +public class GameBarSettingsActivity extends CollapsingToolbarBaseActivity { + private static final int OVERLAY_PERMISSION_REQUEST_CODE = 1234; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_game_bar); + setTitle(getString(R.string.game_bar_title)); + + if (!Settings.canDrawOverlays(this)) { + Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, + Uri.parse("package:" + getPackageName())); + startActivityForResult(intent, OVERLAY_PERMISSION_REQUEST_CODE); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == OVERLAY_PERMISSION_REQUEST_CODE) { + if (Settings.canDrawOverlays(this)) { + Toast.makeText(this, R.string.overlay_permission_granted, Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(this, R.string.overlay_permission_denied, Toast.LENGTH_SHORT).show(); + } + } + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarTileService.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarTileService.java new file mode 100644 index 0000000..e3db7b8 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameBarTileService.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.service.quicksettings.Tile; +import android.service.quicksettings.TileService; + +import androidx.preference.PreferenceManager; + +import org.lineageos.device.DeviceSettings.R; + +public class GameBarTileService extends TileService { + private GameBar mGameBar; + + @Override + public void onCreate() { + super.onCreate(); + mGameBar = GameBar.getInstance(this); + } + + @Override + public void onStartListening() { + boolean enabled = PreferenceManager.getDefaultSharedPreferences(this) + .getBoolean("game_bar_enable", false); + updateTileState(enabled); + } + + @Override + public void onClick() { + boolean currentlyEnabled = PreferenceManager.getDefaultSharedPreferences(this) + .getBoolean("game_bar_enable", false); + boolean newState = !currentlyEnabled; + + PreferenceManager.getDefaultSharedPreferences(this) + .edit() + .putBoolean("game_bar_enable", newState) + .commit(); + + updateTileState(newState); + + if (newState) { + mGameBar.applyPreferences(); + mGameBar.show(); + } else { + mGameBar.hide(); + } + } + + private void updateTileState(boolean enabled) { + Tile tile = getQsTile(); + if (tile == null) return; + + tile.setState(enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE); + tile.setLabel(getString(R.string.game_bar_tile_label)); + tile.setContentDescription(getString(R.string.game_bar_tile_description)); + tile.updateTile(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameDataExport.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameDataExport.java new file mode 100644 index 0000000..e604f5b --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/gamebar/GameDataExport.java @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2025 kenway214 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.gamebar; + +import android.os.Environment; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +public class GameDataExport { + + private static GameDataExport sInstance; + public static synchronized GameDataExport getInstance() { + if (sInstance == null) { + sInstance = new GameDataExport(); + } + return sInstance; + } + + private boolean mCapturing = false; + + private final List mStatsRows = new ArrayList<>(); + + private static final String[] CSV_HEADER = { + "DateTime", + "PackageName", + "FPS", + "Battery_Temp", + "CPU_Usage", + "CPU_Temp", + "GPU_Usage", + "GPU_Clock", + "GPU_Temp" + }; + + private GameDataExport() { + } + + public void startCapture() { + mCapturing = true; + mStatsRows.clear(); + mStatsRows.add(CSV_HEADER); + } + + public void stopCapture() { + mCapturing = false; + } + + public boolean isCapturing() { + return mCapturing; + } + + public void addOverlayData(String dateTime, + String packageName, + String fps, + String batteryTemp, + String cpuUsage, + String cpuTemp, + String gpuUsage, + String gpuClock, + String gpuTemp) { + if (!mCapturing) return; + + String[] row = { + dateTime, + packageName, + fps, + batteryTemp, + cpuUsage, + cpuTemp, + gpuUsage, + gpuClock, + gpuTemp + }; + mStatsRows.add(row); + } + + public void exportDataToCsv() { + if (mStatsRows.size() <= 1) { + return; + } + String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date()); + File outFile = new File(Environment.getExternalStorageDirectory(), "GameBar_log_" + timeStamp + ".csv"); + + BufferedWriter bw = null; + try { + bw = new BufferedWriter(new FileWriter(outFile, true)); + for (String[] row : mStatsRows) { + bw.write(toCsvLine(row)); + bw.newLine(); + } + bw.flush(); + } catch (IOException ignored) { + } finally { + if (bw != null) { + try { bw.close(); } catch (IOException ignored) {} + } + } + } + + private String toCsvLine(String[] columns) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < columns.length; i++) { + sb.append(columns[i]); + if (i < columns.length - 1) { + sb.append(","); + } + } + return sb.toString(); + } +} diff --git a/DeviceSettings/src/org/lineageos/device/DeviceSettings/utils/FileUtils.java b/DeviceSettings/src/org/lineageos/device/DeviceSettings/utils/FileUtils.java new file mode 100644 index 0000000..2024f42 --- /dev/null +++ b/DeviceSettings/src/org/lineageos/device/DeviceSettings/utils/FileUtils.java @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2016 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.lineageos.device.DeviceSettings.utils; + +import android.util.Log; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; + +public final class FileUtils { + private static final String TAG = "FileUtils"; + + private FileUtils() { + // This class is not supposed to be instantiated + } + + /** + * Reads the first line of text from the given file. + * Reference {@link BufferedReader#readLine()} for clarification on what a line is + * + * @return the read line contents, or null on failure + */ + public static String readOneLine(String fileName) { + String line = null; + BufferedReader reader = null; + + try { + reader = new BufferedReader(new FileReader(fileName), 512); + line = reader.readLine(); + } catch (FileNotFoundException e) { + Log.w(TAG, "No such file " + fileName + " for reading", e); + } catch (IOException e) { + Log.e(TAG, "Could not read from file " + fileName, e); + } finally { + try { + if (reader != null) { + reader.close(); + } + } catch (IOException e) { + // Ignored, not much we can do anyway + } + } + + return line; + } + + /** + * Writes the given value into the given file + * + * @return true on success, false on failure + */ + public static boolean writeLine(String fileName, String value) { + BufferedWriter writer = null; + + try { + writer = new BufferedWriter(new FileWriter(fileName)); + writer.write(value); + } catch (FileNotFoundException e) { + Log.w(TAG, "No such file " + fileName + " for writing", e); + return false; + } catch (IOException e) { + Log.e(TAG, "Could not write to file " + fileName, e); + return false; + } finally { + try { + if (writer != null) { + writer.close(); + } + } catch (IOException e) { + // Ignored, not much we can do anyway + } + } + + return true; + } + + /** + * Checks whether the given file exists + * + * @return true if exists, false if not + */ + public static boolean fileExists(String fileName) { + final File file = new File(fileName); + return file.exists(); + } + + /** + * Checks whether the given file is readable + * + * @return true if readable, false if not + */ + public static boolean isFileReadable(String fileName) { + final File file = new File(fileName); + return file.exists() && file.canRead(); + } + + /** + * Checks whether the given file is writable + * + * @return true if writable, false if not + */ + public static boolean isFileWritable(String fileName) { + final File file = new File(fileName); + return file.exists() && file.canWrite(); + } + + /** + * Deletes an existing file + * + * @return true if the delete was successful, false if not + */ + public static boolean delete(String fileName) { + final File file = new File(fileName); + boolean ok = false; + try { + ok = file.delete(); + } catch (SecurityException e) { + Log.w(TAG, "SecurityException trying to delete " + fileName, e); + } + return ok; + } + + /** + * Renames an existing file + * + * @return true if the rename was successful, false if not + */ + public static boolean rename(String srcPath, String dstPath) { + final File srcFile = new File(srcPath); + final File dstFile = new File(dstPath); + boolean ok = false; + try { + ok = srcFile.renameTo(dstFile); + } catch (SecurityException e) { + Log.w(TAG, "SecurityException trying to rename " + srcPath + " to " + dstPath, e); + } catch (NullPointerException e) { + Log.e(TAG, "NullPointerException trying to rename " + srcPath + " to " + dstPath, e); + } + return ok; + } + + public static boolean getFileValueAsBoolean(String filename, boolean defValue) { + String fileValue = readOneLine(filename); + if(fileValue!=null){ + return (fileValue.equals("0")?false:true); + } + return defValue; + } + + public static String getFileValue(String filename, String defValue) { + String fileValue = readOneLine(filename); + if(fileValue!=null){ + return fileValue; + } + return defValue; + } +} diff --git a/product.prop b/product.prop index 0427df9..87542e8 100644 --- a/product.prop +++ b/product.prop @@ -5,8 +5,5 @@ audio.offload.min.duration.secs=30 audio.offload.video=true ro.af.client_heap_size_kbyte=7168 -# Device name -ro.product.marketname=OnePlus 11 5G - # GMS ro.opa.device_model_id=ga-oplus-skill-os121-211011

1Af>h-qiDF*V$DIG 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