diff --git a/shell/android-studio/reicast/src/main/AndroidManifest.xml b/shell/android-studio/reicast/src/main/AndroidManifest.xml index 68228266c..30255696b 100644 --- a/shell/android-studio/reicast/src/main/AndroidManifest.xml +++ b/shell/android-studio/reicast/src/main/AndroidManifest.xml @@ -37,7 +37,6 @@ android:name=".Emulator" android:icon="@drawable/ic_launcher" android:label="@string/app_name" - android:theme="@style/AppTheme" android:roundIcon="@drawable/ic_launcher" android:banner="@drawable/ic_banner" android:logo="@drawable/ic_banner" diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/AboutFragment.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/AboutFragment.java index a6b13d13d..6990085f5 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/AboutFragment.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/AboutFragment.java @@ -1,10 +1,12 @@ package com.reicast.emulator; +import android.content.SharedPreferences; import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; +import android.preference.PreferenceManager; import android.support.constraint.ConstraintLayout; import android.support.design.widget.Snackbar; import android.support.graphics.drawable.VectorDrawableCompat; @@ -149,7 +151,16 @@ public class AboutFragment extends Fragment { ArrayList> commitList) { if (commitList != null && commitList.size() > 0) { ListView list = (ListView) ref.get().getView().findViewById(R.id.list); - list.setSelector(R.drawable.list_selector); + SharedPreferences mPrefs = PreferenceManager + .getDefaultSharedPreferences(ref.get().getActivity()); + int app_theme = mPrefs.getInt(Config.pref_app_theme, 0); + if (app_theme == 7) { + list.setSelector(R.drawable.list_selector_dream); + } else if (app_theme == 7) { + list.setSelector(R.drawable.list_selector_blue); + } else { + list.setSelector(R.drawable.list_selector_dark); + } list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); GitAdapter adapter = new GitAdapter(ref.get().getActivity(), commitList); // Set adapter as specified collection diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/FileBrowser.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/FileBrowser.java index f4ba7b01c..65868888d 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/FileBrowser.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/FileBrowser.java @@ -19,10 +19,8 @@ import android.support.v4.app.Fragment; import android.support.v4.content.FileProvider; import android.view.Gravity; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; @@ -50,14 +48,12 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; -import java.util.Iterator; import java.util.List; import java.util.Locale; public class FileBrowser extends Fragment { private Vibrator vib; - private Drawable orig_bg; private boolean games; private String searchQuery = null; private OnItemSelectedListener mCallback; @@ -186,7 +182,7 @@ public class FileBrowser extends Fragment { private void installButtons() { try { File buttons = null; - String theme = mPrefs.getString(Config.pref_theme, null); + String theme = mPrefs.getString(Config.pref_button_theme, null); if (theme != null) { buttons = new File(theme); } @@ -311,11 +307,10 @@ public class FileBrowser extends Fragment { R.layout.bios_list_item, null, false); ((TextView) childview.findViewById(R.id.item_name)).setText(R.string.boot_bios); + ((ImageView) childview.findViewById(R.id.item_icon)).setImageResource(R.mipmap.disk_bios); childview.setTag(null); - orig_bg = childview.getBackground(); - childview.findViewById(R.id.childview).setOnClickListener( new OnClickListener() { public void onClick(View view) { @@ -324,20 +319,23 @@ public class FileBrowser extends Fragment { vib.vibrate(250); } }); + ((ViewGroup) view).addView(childview); + } + if (searchQuery != null) { + final View childview = getActivity().getLayoutInflater().inflate( + R.layout.bios_list_item, null, false); - childview.findViewById(R.id.childview).setOnTouchListener( - new OnTouchListener() { - @SuppressWarnings("deprecation") - public boolean onTouch(View view, MotionEvent arg1) { - if (arg1.getActionMasked() == MotionEvent.ACTION_DOWN) { - view.setBackgroundColor(0xFF4F3FFF); - } else if (arg1.getActionMasked() == MotionEvent.ACTION_CANCEL - || arg1.getActionMasked() == MotionEvent.ACTION_UP) { - view.setBackgroundDrawable(orig_bg); - } + ((TextView) childview.findViewById(R.id.item_name)).setText(R.string.clear_search); + ((ImageView) childview.findViewById(R.id.item_icon)).setImageResource(R.mipmap.disk_unknown); - return false; + childview.setTag(null); + childview.findViewById(R.id.childview).setOnClickListener( + new OnClickListener() { + public void onClick(View view) { + searchQuery = null; + new LocateGames(FileBrowser.this, + R.array.images).execute(game_directory); } }); ((ViewGroup) view).addView(childview); @@ -361,7 +359,6 @@ public class FileBrowser extends Fragment { XMLParser xmlParser = new XMLParser(game, index, mPrefs); xmlParser.setViewParent(getActivity(), childview, mCallback); - orig_bg = childview.getBackground(); childview.findViewById(R.id.childview).setOnClickListener( new OnClickListener() { @@ -400,21 +397,6 @@ public class FileBrowser extends Fragment { } } }); - - childview.findViewById(R.id.childview).setOnTouchListener( - new OnTouchListener() { - @SuppressWarnings("deprecation") - public boolean onTouch(View view, MotionEvent arg1) { - if (arg1.getActionMasked() == MotionEvent.ACTION_DOWN) { - view.setBackgroundColor(0xFF4F3FFF); - } else if (arg1.getActionMasked() == MotionEvent.ACTION_CANCEL - || arg1.getActionMasked() == MotionEvent.ACTION_UP) { - view.setBackgroundDrawable(orig_bg); - } - return false; - - } - }); list.addView(childview); xmlParser.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, game.getName()); } @@ -481,6 +463,18 @@ public class FileBrowser extends Fragment { final View childview = browser.get().getActivity().getLayoutInflater().inflate( R.layout.browser_fragment_item, null, false); + int app_theme = browser.get().mPrefs.getInt(Config.pref_app_theme, 0); + if (app_theme == 7) { + childview.findViewById(R.id.childview) + .setBackgroundResource(R.drawable.game_selector_dream); + } else if (app_theme == 1) { + childview.findViewById(R.id.childview) + .setBackgroundResource(R.drawable.game_selector_blue); + } else { + childview.findViewById(R.id.childview) + .setBackgroundResource(R.drawable.game_selector_dark); + } + if (file == null) { ((TextView) childview.findViewById(R.id.item_name)).setText(R.string.folder_select); } else if (file == parent) @@ -494,8 +488,6 @@ public class FileBrowser extends Fragment { childview.setTag(file); - browser.get().orig_bg = childview.getBackground(); - // vw.findViewById(R.id.childview).setBackgroundColor(0xFFFFFFFF); childview.findViewById(R.id.childview).setOnClickListener( @@ -551,22 +543,6 @@ public class FileBrowser extends Fragment { } } }); - - childview.findViewById(R.id.childview).setOnTouchListener( - new OnTouchListener() { - @SuppressWarnings("deprecation") - public boolean onTouch(View view, MotionEvent event) { - if (event.getActionMasked() == MotionEvent.ACTION_DOWN) { - view.setBackgroundColor(0xFF4F3FFF); - } else if (event.getActionMasked() == MotionEvent.ACTION_CANCEL - || event.getActionMasked() == MotionEvent.ACTION_UP) { - view.setBackgroundDrawable(browser.get().orig_bg); - } - - return false; - - } - }); listView.addView(childview); } listView.invalidate(); diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java index f6105275f..0294766af 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java @@ -20,6 +20,7 @@ import android.support.design.widget.NavigationView; import android.support.design.widget.Snackbar; import android.support.v4.app.ActivityCompat; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentTransaction; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; @@ -55,6 +56,15 @@ public class MainActivity extends AppCompatActivity implements @Override public void onCreate(Bundle savedInstanceState) { + mPrefs = PreferenceManager.getDefaultSharedPreferences(this); + int app_theme = mPrefs.getInt(Config.pref_app_theme, 0); + if (app_theme == 7) { + setTheme(R.style.AppTheme_Dream); + } else if (app_theme == 1) { + setTheme(R.style.AppTheme_Blue); + } else { + setTheme(R.style.AppTheme); + } super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); @@ -76,8 +86,6 @@ public class MainActivity extends AppCompatActivity implements WindowManager.LayoutParams.FLAG_FULLSCREEN); } - mPrefs = PreferenceManager.getDefaultSharedPreferences(this); - String prior_error = mPrefs.getString("prior_error", null); if (prior_error != null) { displayLogOutput(prior_error); @@ -185,7 +193,7 @@ public class MainActivity extends AppCompatActivity implements return false; } @Override - public boolean onQueryTextChange(String s) { + public boolean onQueryTextChange(String query) { return false; } }); @@ -390,6 +398,16 @@ public class MainActivity extends AppCompatActivity implements super.onPostCreate(savedInstanceState); } + public void recreateActivity() { + this.recreate(); + OptionsFragment optionsFrag = new OptionsFragment(); + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.fragment_container, optionsFrag, "OPTIONS_FRAG") + .addToBackStack(null).commit(); + // Prevents a crash, but actually just reloads the FileBrowser fragment + } + @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { // Handle navigation view item clicks here. diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/Config.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/Config.java index 65ed2ed76..eeb241c23 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/Config.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/Config.java @@ -8,7 +8,9 @@ public class Config { public static final String pref_home = "home_directory"; public static final String pref_games = "game_directory"; - public static final String pref_theme = "button_theme"; + public static final String pref_button_theme = "button_theme"; + + public static final String pref_app_theme = "app_theme"; public static final String pref_gamedetails = "game_details"; diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/InputModFragment.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/InputModFragment.java index 7ae8ebb2f..84e26cf0d 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/InputModFragment.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/InputModFragment.java @@ -427,7 +427,7 @@ public class InputModFragment extends Fragment { try { File buttons = null; InputStream bitmap; - String theme = mPrefs.getString(Config.pref_theme, null); + String theme = mPrefs.getString(Config.pref_button_theme, null); if (theme != null) { buttons = new File(theme); } diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java index 55f209dd6..64ba398fe 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java @@ -53,7 +53,6 @@ import java.io.OutputStream; import java.lang.ref.WeakReference; import java.util.Collection; import java.util.HashSet; -import java.util.Iterator; import java.util.List; public class OptionsFragment extends Fragment { @@ -70,6 +69,7 @@ public class OptionsFragment extends Fragment { // Container Activity must implement this interface public interface OnClickListener { + void recreateActivity(); void onMainBrowseSelected(String path_entry, boolean games, String query); void launchBIOSdetection(); } @@ -130,7 +130,6 @@ public class OptionsFragment extends Fragment { app.getConfigurationPrefs(mPrefs); // Generate the menu options and fill in existing settings - Button mainBrowse = (Button) getView().findViewById(R.id.browse_main_path); mSpnrThemes = (Spinner) getView().findViewById(R.id.pick_button_theme); new LocateThemes(this).execute(home_directory + "/themes"); @@ -182,6 +181,36 @@ public class OptionsFragment extends Fragment { reios_opt.setChecked(mPrefs.getBoolean(Emulator.pref_usereios, false)); reios_opt.setOnCheckedChangeListener(reios_options); + String[] app_themes = getResources().getStringArray(R.array.themes_app); + Spinner aSpnrThemes = (Spinner) getView().findViewById(R.id.pick_app_theme); + ArrayAdapter themeAdapter = new ArrayAdapter<>(getActivity(), + android.R.layout.simple_spinner_item, app_themes); + themeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + aSpnrThemes.setAdapter(themeAdapter); + int app_theme = mPrefs.getInt(Config.pref_app_theme, 0); + if (app_theme == 7) { + aSpnrThemes.setSelection(themeAdapter.getPosition("Dream"), true); + } else { + aSpnrThemes.setSelection(app_theme, true); + } + aSpnrThemes.setOnItemSelectedListener(new OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parentView, View selectedItemView, int position, long id) { + String theme = String.valueOf(parentView.getItemAtPosition(position)); + if (theme.equals("Dream")) { + mPrefs.edit().putInt(Config.pref_app_theme, 7).apply(); + mCallback.recreateActivity(); + } else { + mPrefs.edit().putInt(Config.pref_app_theme, position).apply(); + mCallback.recreateActivity(); + } + } + @Override + public void onNothingSelected(AdapterView parentView) { + + } + }); + OnCheckedChangeListener details_options = new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, @@ -574,7 +603,7 @@ public class OptionsFragment extends Fragment { @Override protected List doInBackground(String... paths) { File storage = new File(paths[0]); - String[] mediaTypes = options.get().getResources().getStringArray(R.array.themes); + String[] mediaTypes = options.get().getResources().getStringArray(R.array.themes_ext); FilenameFilter[] filter = new FilenameFilter[mediaTypes.length]; int i = 0; for (final String type : mediaTypes) { @@ -608,10 +637,10 @@ public class OptionsFragment extends Fragment { public void onItemSelected(AdapterView parentView, View selectedItemView, int position, long id) { String theme = String.valueOf(parentView.getItemAtPosition(position)); if (theme.equals("None")) { - options.get().mPrefs.edit().remove(Config.pref_theme).apply(); + options.get().mPrefs.edit().remove(Config.pref_button_theme).apply(); } else { String theme_path = options.get().home_directory + "/themes/" + theme; - options.get().mPrefs.edit().putString(Config.pref_theme, theme_path).apply(); + options.get().mPrefs.edit().putString(Config.pref_button_theme, theme_path).apply(); } } @Override @@ -705,9 +734,25 @@ public class OptionsFragment extends Fragment { mPrefs.edit().remove(Config.pref_rendertype).apply(); mPrefs.edit().remove(Emulator.pref_nosound).apply(); mPrefs.edit().remove(Config.pref_renderdepth).apply(); - mPrefs.edit().remove(Config.pref_theme).apply(); + mPrefs.edit().remove(Config.pref_button_theme).apply(); - getActivity().finish(); + Emulator.usereios = false; + Emulator.nativeact = false; + Emulator.dynarecopt = true; + Emulator.unstableopt = false; + Emulator.cable = 3; + Emulator.dcregion = 3; + Emulator.broadcast = 4; + Emulator.limitfps = true; + Emulator.mipmaps = true; + Emulator.widescreen = false; + Emulator.frameskip = 0; + Emulator.pvrrender = false; + Emulator.syncedrender = false; + Emulator.bootdisk = null; + Emulator.nosound = false; + + mCallback.recreateActivity(); } private void showToastMessage(String message, int duration) { diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GitAdapter.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GitAdapter.java index 97e618f8d..cfd5d7c6f 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GitAdapter.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GitAdapter.java @@ -6,8 +6,10 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; +import android.content.SharedPreferences; import android.graphics.PorterDuff; import android.os.Build; +import android.preference.PreferenceManager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -28,6 +30,7 @@ import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.reicast.emulator.R; +import com.reicast.emulator.config.Config; import java.util.ArrayList; import java.util.HashMap; @@ -35,8 +38,9 @@ import java.util.HashMap; public class GitAdapter extends BaseAdapter { private ArrayList> data; - private LayoutInflater inflater = null; + private LayoutInflater inflater; private DisplayImageOptions options; + private SharedPreferences mPrefs; public GitAdapter(Activity activity, ArrayList> d) { this.data = d; @@ -50,6 +54,7 @@ public class GitAdapter extends BaseAdapter { .imageScaleType(ImageScaleType.EXACTLY_STRETCHED).build(); ImageLoader.getInstance().init(configicon); + mPrefs = PreferenceManager.getDefaultSharedPreferences(activity); } @@ -69,6 +74,16 @@ public class GitAdapter extends BaseAdapter { View vi = convertView; if (convertView == null) vi = this.inflater.inflate(R.layout.change_item, null); + + int app_theme = mPrefs.getInt(Config.pref_app_theme, 0); + if (app_theme == 7) { + vi.setBackgroundResource(R.drawable.list_selector_dream); + } else if (app_theme == 1) { + vi.setBackgroundResource(R.drawable.list_selector_blue); + } else { + vi.setBackgroundResource(R.drawable.list_selector_dark); + } + TextView dateText = (TextView) vi.findViewById(R.id.date); TextView committerText = (TextView) vi.findViewById(R.id.committer); TextView titleText = (TextView) vi.findViewById(R.id.title); diff --git a/shell/android-studio/reicast/src/main/res/drawable-mdpi/side_nav_bar.xml b/shell/android-studio/reicast/src/main/res/drawable-mdpi/side_nav_bar.xml deleted file mode 100644 index 458b4b07d..000000000 --- a/shell/android-studio/reicast/src/main/res/drawable-mdpi/side_nav_bar.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/background_blue.xml b/shell/android-studio/reicast/src/main/res/drawable/background_blue.xml new file mode 100644 index 000000000..acfea541f --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/background_blue.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/background_dark.xml b/shell/android-studio/reicast/src/main/res/drawable/background_dark.xml new file mode 100644 index 000000000..c57a13744 --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/background_dark.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/background_dream.xml b/shell/android-studio/reicast/src/main/res/drawable/background_dream.xml new file mode 100644 index 000000000..154c5564b --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/background_dream.xml @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/game_selector.xml b/shell/android-studio/reicast/src/main/res/drawable/game_selector.xml deleted file mode 100644 index 87c9c9bc8..000000000 --- a/shell/android-studio/reicast/src/main/res/drawable/game_selector.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/game_selector_blue.xml b/shell/android-studio/reicast/src/main/res/drawable/game_selector_blue.xml new file mode 100644 index 000000000..11fae3918 --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/game_selector_blue.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/game_selector_dark.xml b/shell/android-studio/reicast/src/main/res/drawable/game_selector_dark.xml new file mode 100644 index 000000000..6d0a0b92d --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/game_selector_dark.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/game_selector_dream.xml b/shell/android-studio/reicast/src/main/res/drawable/game_selector_dream.xml new file mode 100644 index 000000000..0ed29fe78 --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/game_selector_dream.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover.xml b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_blue.xml similarity index 57% rename from shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover.xml rename to shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_blue.xml index aab77af2e..e6bfe122b 100644 --- a/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover.xml +++ b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_blue.xml @@ -5,8 +5,8 @@ + android:centerColor="@color/colorBlueAccentDark" + android:endColor="@color/colorBlueAccent" + android:startColor="@color/colorBlueAccent" /> \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dark.xml b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dark.xml new file mode 100644 index 000000000..ff5ba80f2 --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dark.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dream.xml b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dream.xml new file mode 100644 index 000000000..c80a679cb --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/gradient_bg_hover_dream.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/list_selector.xml b/shell/android-studio/reicast/src/main/res/drawable/list_selector_blue.xml similarity index 53% rename from shell/android-studio/reicast/src/main/res/drawable/list_selector.xml rename to shell/android-studio/reicast/src/main/res/drawable/list_selector_blue.xml index fb1560c2e..7d78ebcc2 100644 --- a/shell/android-studio/reicast/src/main/res/drawable/list_selector.xml +++ b/shell/android-studio/reicast/src/main/res/drawable/list_selector_blue.xml @@ -3,7 +3,7 @@ - - + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/list_selector_dark.xml b/shell/android-studio/reicast/src/main/res/drawable/list_selector_dark.xml new file mode 100644 index 000000000..84cf9805d --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/list_selector_dark.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/list_selector_dream.xml b/shell/android-studio/reicast/src/main/res/drawable/list_selector_dream.xml new file mode 100644 index 000000000..5a4bed41e --- /dev/null +++ b/shell/android-studio/reicast/src/main/res/drawable/list_selector_dream.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/shell/android-studio/reicast/src/main/res/drawable/nav_background.png b/shell/android-studio/reicast/src/main/res/drawable/nav_background.png new file mode 100644 index 000000000..85598cec5 Binary files /dev/null and b/shell/android-studio/reicast/src/main/res/drawable/nav_background.png differ diff --git a/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml b/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml index 6139526a2..408a62678 100644 --- a/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml +++ b/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml @@ -124,11 +124,11 @@ android:orientation="vertical" > + android:text="@string/app_theme" /> + + + + + + + + + + + + android:scaleType="fitCenter" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + android:background="@drawable/game_selector_dream" > + android:background="@drawable/game_selector_dream" > + app:srcCompat="@drawable/ic_settings" + android:tint="@android:color/transparent"/> + android:background="@drawable/game_selector_dream" > diff --git a/shell/android-studio/reicast/src/main/res/layout/change_item.xml b/shell/android-studio/reicast/src/main/res/layout/change_item.xml index d828fe1f6..0e11380cd 100644 --- a/shell/android-studio/reicast/src/main/res/layout/change_item.xml +++ b/shell/android-studio/reicast/src/main/res/layout/change_item.xml @@ -4,7 +4,7 @@ android:id="@+id/change" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@drawable/list_selector" + android:background="@drawable/list_selector_dream" android:orientation="horizontal" android:padding="5dip" > @@ -24,7 +24,8 @@ android:layout_width="60dip" android:layout_height="60dip" android:gravity="center" - app:srcCompat="@drawable/ic_github" /> + app:srcCompat="@drawable/ic_github" + android:tint="@android:color/transparent"/> diff --git a/shell/android-studio/reicast/src/main/res/layout/cloud_fragment.xml b/shell/android-studio/reicast/src/main/res/layout/cloud_fragment.xml index 1ed5eb8cc..a5a6eb103 100644 --- a/shell/android-studio/reicast/src/main/res/layout/cloud_fragment.xml +++ b/shell/android-studio/reicast/src/main/res/layout/cloud_fragment.xml @@ -43,6 +43,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="cloudImg" - app:srcCompat="@drawable/cloud_big" /> + app:srcCompat="@drawable/cloud_big" + android:tint="@android:color/transparent"/> diff --git a/shell/android-studio/reicast/src/main/res/layout/configure_fragment.xml b/shell/android-studio/reicast/src/main/res/layout/configure_fragment.xml index d4dfcc245..97b9d759d 100644 --- a/shell/android-studio/reicast/src/main/res/layout/configure_fragment.xml +++ b/shell/android-studio/reicast/src/main/res/layout/configure_fragment.xml @@ -124,11 +124,11 @@ android:orientation="vertical" > + android:text="@string/app_theme" /> + + + + + + + + + + + diff --git a/shell/android-studio/reicast/src/main/res/layout/input_fragment.xml b/shell/android-studio/reicast/src/main/res/layout/input_fragment.xml index b1bc8290f..917244330 100644 --- a/shell/android-studio/reicast/src/main/res/layout/input_fragment.xml +++ b/shell/android-studio/reicast/src/main/res/layout/input_fragment.xml @@ -169,7 +169,8 @@ android:layout_width="48dp" android:layout_height="48dp" android:layout_centerInParent="true" - android:scaleType="fitCenter" /> + android:scaleType="fitCenter" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + app:srcCompat="@drawable/input" + android:tint="@android:color/transparent"/> + android:text="@string/y_button" + android:tint="@android:color/transparent"/> + android:padding="@dimen/nav_header_padding"> + app:srcCompat="@drawable/ic_launcher" + android:tint="@android:color/transparent"/> - + + + android:textColor="@color/colorDarkText"/> + + + + - - diff --git a/shell/android-studio/reicast/src/main/res/layout/spinner_selected.xml b/shell/android-studio/reicast/src/main/res/layout/spinner_selected.xml index e65fb9757..2b4bd0e37 100644 --- a/shell/android-studio/reicast/src/main/res/layout/spinner_selected.xml +++ b/shell/android-studio/reicast/src/main/res/layout/spinner_selected.xml @@ -7,5 +7,4 @@ android:layout_weight="1" android:ellipsize="marquee" android:gravity="right" - android:singleLine="true" - android:textColor="#ffffff" /> + android:singleLine="true" /> diff --git a/shell/android-studio/reicast/src/main/res/menu/activity_main.xml b/shell/android-studio/reicast/src/main/res/menu/activity_main.xml index fbe191c7a..0f333b78a 100644 --- a/shell/android-studio/reicast/src/main/res/menu/activity_main.xml +++ b/shell/android-studio/reicast/src/main/res/menu/activity_main.xml @@ -25,5 +25,4 @@ - diff --git a/shell/android-studio/reicast/src/main/res/mipmap/disk_bios.png b/shell/android-studio/reicast/src/main/res/mipmap/disk_bios.png new file mode 100644 index 000000000..862ee6501 Binary files /dev/null and b/shell/android-studio/reicast/src/main/res/mipmap/disk_bios.png differ diff --git a/shell/android-studio/reicast/src/main/res/mipmap/texture_blue.png b/shell/android-studio/reicast/src/main/res/mipmap/texture_blue.png new file mode 100644 index 000000000..090865b41 Binary files /dev/null and b/shell/android-studio/reicast/src/main/res/mipmap/texture_blue.png differ diff --git a/shell/android-studio/reicast/src/main/res/mipmap/texture_dark.png b/shell/android-studio/reicast/src/main/res/mipmap/texture_dark.png new file mode 100644 index 000000000..d6a638791 Binary files /dev/null and b/shell/android-studio/reicast/src/main/res/mipmap/texture_dark.png differ diff --git a/shell/android-studio/reicast/src/main/res/mipmap/texture_light.png b/shell/android-studio/reicast/src/main/res/mipmap/texture_light.png new file mode 100644 index 000000000..42618a74f Binary files /dev/null and b/shell/android-studio/reicast/src/main/res/mipmap/texture_light.png differ diff --git a/shell/android-studio/reicast/src/main/res/values/colors.xml b/shell/android-studio/reicast/src/main/res/values/colors.xml index a86e8bb50..e409b019d 100644 --- a/shell/android-studio/reicast/src/main/res/values/colors.xml +++ b/shell/android-studio/reicast/src/main/res/values/colors.xml @@ -1,23 +1,25 @@ - #1e1e1e - #191919 - #c4cde3 - #AA1074bc - #F5A623 + #0b2032 + #041121 + #FF4081 + #e91e63 + #e0e0e0 + #e0e0e0 + #226696 + #164f6e + #e040fb + #9c27b0 + #e0e0e0 + #072540 - #ffd34c - #0f0 - #f00 - #7680a7 - #303030 - #373737 - #6b6b6b - #969696 - #9B9B9B - #c4c4c4 - #d0d0d0 - #f0f0f0 - #fff + #6e6b66 + #534e4b + #5787c7 + #42a5f5 + #3d3533 + #534e4b + + #42a5f5 diff --git a/shell/android-studio/reicast/src/main/res/values/dimens.xml b/shell/android-studio/reicast/src/main/res/values/dimens.xml index 1a8bcf4e4..90524f53e 100644 --- a/shell/android-studio/reicast/src/main/res/values/dimens.xml +++ b/shell/android-studio/reicast/src/main/res/values/dimens.xml @@ -9,6 +9,7 @@ 8dp 16dp 176dp + 4dp 16sp 14sp diff --git a/shell/android-studio/reicast/src/main/res/values/donottranslate.xml b/shell/android-studio/reicast/src/main/res/values/donottranslate.xml index d9eab5c55..7e55d34ee 100644 --- a/shell/android-studio/reicast/src/main/res/values/donottranslate.xml +++ b/shell/android-studio/reicast/src/main/res/values/donottranslate.xml @@ -20,7 +20,13 @@ VGA - + + Dark + Blue + Dream + + + png jpg jpeg diff --git a/shell/android-studio/reicast/src/main/res/values/strings.xml b/shell/android-studio/reicast/src/main/res/values/strings.xml index be67bab73..0fcff2724 100644 --- a/shell/android-studio/reicast/src/main/res/values/strings.xml +++ b/shell/android-studio/reicast/src/main/res/values/strings.xml @@ -7,6 +7,7 @@ System Path\n (location of data folder with dc_boot.bin/dc_flash.bin inside) Default System Path Storage Path\n (location of *.gdi, *.chd or *.cdi images) + Application Theme Onscreen Button Theme Select a BIOS source @@ -72,6 +73,7 @@ Game List Game (ie. Crazy Taxi) + Clear Search Results Game Info - %1$s Game Info Unavailable @@ -91,7 +93,7 @@ Controller Not Connected %1$s No Controller Selected Select - Remove + Clear Select Controller Press any button on the controller %1$s to assign to port This controller is already in use! diff --git a/shell/android-studio/reicast/src/main/res/values/styles.xml b/shell/android-studio/reicast/src/main/res/values/styles.xml index c58ab9898..caaec3692 100644 --- a/shell/android-studio/reicast/src/main/res/values/styles.xml +++ b/shell/android-studio/reicast/src/main/res/values/styles.xml @@ -3,18 +3,37 @@ - + + + +