diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/GameActivity.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/GameActivity.java index f7050e99..946ef883 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/GameActivity.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/GameActivity.java @@ -1,6 +1,7 @@ package com.panda3ds.pandroid.app; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; @@ -72,6 +73,9 @@ public class GameActivity extends BaseActivity { InputHandler.reset(); InputHandler.setMotionDeadZone(InputMap.getDeadZone()); InputHandler.setEventListener(inputListener); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { + getTheme().applyStyle(R.style.GameActivityNavigationBar, true); + } } @Override diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/base/BasePreferenceFragment.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/base/BasePreferenceFragment.java index 9482df1d..4f5c5761 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/base/BasePreferenceFragment.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/base/BasePreferenceFragment.java @@ -3,6 +3,7 @@ package com.panda3ds.pandroid.app.base; import android.annotation.SuppressLint; import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; @@ -22,6 +23,9 @@ public abstract class BasePreferenceFragment extends PreferenceFragmentCompat { } protected void setActivityTitle(@StringRes int titleId) { - ((AppCompatActivity) requireActivity()).getSupportActionBar().setTitle(titleId); + ActionBar header = ((AppCompatActivity) requireActivity()).getSupportActionBar(); + if (header != null) { + header.setTitle(titleId); + } } } diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/main/SettingsFragment.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/main/SettingsFragment.java index bfe33a2b..4ac73661 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/main/SettingsFragment.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/main/SettingsFragment.java @@ -8,7 +8,7 @@ import com.panda3ds.pandroid.R; import com.panda3ds.pandroid.app.PreferenceActivity; import com.panda3ds.pandroid.app.base.BasePreferenceFragment; import com.panda3ds.pandroid.app.preferences.AppearancePreferences; -import com.panda3ds.pandroid.app.preferences.DeveloperPreferences; +import com.panda3ds.pandroid.app.preferences.AdvancedPreferences; import com.panda3ds.pandroid.app.preferences.InputPreferences; public class SettingsFragment extends BasePreferenceFragment { @@ -17,6 +17,6 @@ public class SettingsFragment extends BasePreferenceFragment { setPreferencesFromResource(R.xml.start_preferences, rootKey); setItemClick("input", (item) -> PreferenceActivity.launch(requireContext(), InputPreferences.class)); setItemClick("appearance", (item)-> PreferenceActivity.launch(requireContext(), AppearancePreferences.class)); - setItemClick("developer", (item)-> PreferenceActivity.launch(requireContext(), DeveloperPreferences.class)); + setItemClick("advanced", (item)-> PreferenceActivity.launch(requireContext(), AdvancedPreferences.class)); } } diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/DeveloperPreferences.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AdvancedPreferences.java similarity index 90% rename from src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/DeveloperPreferences.java rename to src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AdvancedPreferences.java index f131f0a0..fea8aef0 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/DeveloperPreferences.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AdvancedPreferences.java @@ -13,11 +13,11 @@ import com.panda3ds.pandroid.app.base.BasePreferenceFragment; import com.panda3ds.pandroid.app.services.LoggerService; import com.panda3ds.pandroid.data.config.GlobalConfig; -public class DeveloperPreferences extends BasePreferenceFragment { +public class AdvancedPreferences extends BasePreferenceFragment { @Override public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { - setPreferencesFromResource(R.xml.developer_preferences, rootKey); - setActivityTitle(R.string.developer_options); + setPreferencesFromResource(R.xml.advanced_preferences, rootKey); + setActivityTitle(R.string.advanced_options); setItemClick("performanceMonitor", pref -> GlobalConfig.set(GlobalConfig.KEY_SHOW_PERFORMANCE_OVERLAY, ((SwitchPreference) pref).isChecked())); setItemClick("shaderJit", pref -> GlobalConfig.set(GlobalConfig.KEY_SHADER_JIT, ((SwitchPreference) pref).isChecked())); diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AppearancePreferences.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AppearancePreferences.java index dea4e261..04c89d9a 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AppearancePreferences.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/AppearancePreferences.java @@ -15,7 +15,7 @@ public class AppearancePreferences extends BasePreferenceFragment { public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { setPreferencesFromResource(R.xml.appearance_preference, rootKey); - ((BaseActivity) requireActivity()).getSupportActionBar().setTitle(R.string.appearance); + setActivityTitle(R.string.appearance); SingleSelectionPreferences themePreference = findPreference("theme"); themePreference.setSelectedItem(GlobalConfig.get(GlobalConfig.KEY_APP_THEME)); diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/ControllerMapperPreferences.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/ControllerMapperPreferences.java index e59adfbe..f643c88f 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/ControllerMapperPreferences.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/ControllerMapperPreferences.java @@ -37,7 +37,9 @@ public class ControllerMapperPreferences extends Fragment { currentProfile = ControllerProfileManager.get(getArguments().getString("profile")).clone(); - ((BaseActivity) requireActivity()).getSupportActionBar().hide(); + if (((BaseActivity)requireActivity()).getSupportActionBar() != null) { + ((BaseActivity) requireActivity()).getSupportActionBar().hide(); + } mapper = view.findViewById(R.id.mapper); mapper.initialize(this::onLocationChanged, currentProfile); diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/InputMapPreferences.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/InputMapPreferences.java index b4d148b9..10fa10f9 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/InputMapPreferences.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/preferences/InputMapPreferences.java @@ -27,7 +27,7 @@ public class InputMapPreferences extends BasePreferenceFragment implements Activ public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { setPreferencesFromResource(R.xml.input_map_preferences, rootKey); - ((BaseActivity) requireActivity()).getSupportActionBar().setTitle(R.string.controller_mapping); + setActivityTitle(R.string.controller_mapping); for (KeyName key : KeyName.values()) { if (key == KeyName.NULL) { diff --git a/src/pandroid/app/src/main/res/drawable/color_surface.xml b/src/pandroid/app/src/main/res/drawable/color_surface.xml new file mode 100644 index 00000000..b8655b87 --- /dev/null +++ b/src/pandroid/app/src/main/res/drawable/color_surface.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/pandroid/app/src/main/res/drawable/switch_thumb.xml b/src/pandroid/app/src/main/res/drawable/switch_thumb.xml new file mode 100644 index 00000000..02f1ab02 --- /dev/null +++ b/src/pandroid/app/src/main/res/drawable/switch_thumb.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/pandroid/app/src/main/res/drawable/switch_track.xml b/src/pandroid/app/src/main/res/drawable/switch_track.xml new file mode 100644 index 00000000..b665789c --- /dev/null +++ b/src/pandroid/app/src/main/res/drawable/switch_track.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/pandroid/app/src/main/res/layout-land/activity_main.xml b/src/pandroid/app/src/main/res/layout-land/activity_main.xml index fa4cfbca..9741809d 100644 --- a/src/pandroid/app/src/main/res/layout-land/activity_main.xml +++ b/src/pandroid/app/src/main/res/layout-land/activity_main.xml @@ -5,7 +5,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".app.MainActivity"> + tools:context=".app.MainActivity" + android:background="?colorSurface"> + style="@style/ThemedNavigationBottom" + android:background="@drawable/color_surface"/> \ No newline at end of file diff --git a/src/pandroid/app/src/main/res/layout/activity_input_map.xml b/src/pandroid/app/src/main/res/layout/activity_input_map.xml index cbacc64e..79249e62 100644 --- a/src/pandroid/app/src/main/res/layout/activity_input_map.xml +++ b/src/pandroid/app/src/main/res/layout/activity_input_map.xml @@ -4,7 +4,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:gravity="center"> + android:gravity="center" + android:background="?colorSurface"> + tools:context=".app.MainActivity" + android:background="?colorSurface"> + style="@style/ThemedNavigationBottom" + android:background="@drawable/color_surface"/> \ No newline at end of file diff --git a/src/pandroid/app/src/main/res/layout/activity_preference.xml b/src/pandroid/app/src/main/res/layout/activity_preference.xml index 54b3d364..401c3d86 100644 --- a/src/pandroid/app/src/main/res/layout/activity_preference.xml +++ b/src/pandroid/app/src/main/res/layout/activity_preference.xml @@ -3,7 +3,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" - android:orientation="vertical"> + android:orientation="vertical" + android:background="?colorSurface"> + android:layout_height="match_parent"> + android:layout_height="match_parent" + android:paddingStart="15dp" + android:paddingEnd="15dp"/> diff --git a/src/pandroid/app/src/main/res/values-pt-rBR/strings.xml b/src/pandroid/app/src/main/res/values-pt-rBR/strings.xml index 1198d66b..eeeb842b 100644 --- a/src/pandroid/app/src/main/res/values-pt-rBR/strings.xml +++ b/src/pandroid/app/src/main/res/values-pt-rBR/strings.xml @@ -45,8 +45,8 @@ Abrir arquivo Criar novo Executando \"%s\" ... - Opções de desenvolvedor - Depuração, mostrar fps, etc. + Opções avançada. + Depuração, mostrar fps, etc. Monitor de desempenho Mostrar um overlay com fps, memoria, etc. Depuração diff --git a/src/pandroid/app/src/main/res/values-v27/themes.xml b/src/pandroid/app/src/main/res/values-v27/themes.xml new file mode 100644 index 00000000..8e960864 --- /dev/null +++ b/src/pandroid/app/src/main/res/values-v27/themes.xml @@ -0,0 +1,16 @@ + + + + + + + + - + diff --git a/src/pandroid/app/src/main/res/xml/developer_preferences.xml b/src/pandroid/app/src/main/res/xml/advanced_preferences.xml similarity index 94% rename from src/pandroid/app/src/main/res/xml/developer_preferences.xml rename to src/pandroid/app/src/main/res/xml/advanced_preferences.xml index 96ce8906..ce77a6e4 100644 --- a/src/pandroid/app/src/main/res/xml/developer_preferences.xml +++ b/src/pandroid/app/src/main/res/xml/advanced_preferences.xml @@ -12,6 +12,7 @@ android:key="loggerService" app:iconSpaceReserved="false" app:title="@string/pref_logger_service_title" + app:defaultValue="true" android:summary="@string/pref_logger_service_summary"/> \ No newline at end of file