Android: Minor cleanup 2

This commit is contained in:
Ryan Meredith 2020-08-31 11:23:59 -04:00
parent 30ea98177a
commit 85ddb8fc86
30 changed files with 107 additions and 104 deletions

View File

@ -30,7 +30,6 @@ public class AppLinkActivity extends FragmentActivity
private AppLinkHelper.PlayAction playAction; private AppLinkHelper.PlayAction playAction;
private DirectoryStateReceiver directoryStateReceiver; private DirectoryStateReceiver directoryStateReceiver;
private BroadcastReceiver gameFileCacheReceiver;
@Override @Override
protected void onCreate(Bundle savedInstanceState) protected void onCreate(Bundle savedInstanceState)
@ -96,18 +95,17 @@ public class AppLinkActivity extends FragmentActivity
} }
}); });
gameFileCacheReceiver = BroadcastReceiver gameFileCacheReceiver = new BroadcastReceiver()
new BroadcastReceiver() {
{ @Override
@Override public void onReceive(Context context, Intent intent)
public void onReceive(Context context, Intent intent) {
{ if (DirectoryInitialization.areDolphinDirectoriesReady())
if (DirectoryInitialization.areDolphinDirectoriesReady()) {
{ tryPlay(playAction);
tryPlay(playAction); }
} }
} };
};
LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this); LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
broadcastManager.registerReceiver(directoryStateReceiver, directoryStateIntentFilter); broadcastManager.registerReceiver(directoryStateReceiver, directoryStateIntentFilter);

View File

@ -1043,8 +1043,8 @@ public final class EmulationActivity extends AppCompatActivity
LayoutInflater inflater = LayoutInflater.from(this); LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.dialog_ir_sensitivity, null); View view = inflater.inflate(R.layout.dialog_ir_sensitivity, null);
TextView text_slider_value_pitch = (TextView) view.findViewById(R.id.text_ir_pitch); TextView text_slider_value_pitch = view.findViewById(R.id.text_ir_pitch);
TextView units = (TextView) view.findViewById(R.id.text_ir_pitch_units); TextView units = view.findViewById(R.id.text_ir_pitch_units);
SeekBar seekbar_pitch = view.findViewById(R.id.seekbar_pitch); SeekBar seekbar_pitch = view.findViewById(R.id.seekbar_pitch);
text_slider_value_pitch.setText(String.valueOf(ir_pitch)); text_slider_value_pitch.setText(String.valueOf(ir_pitch));
@ -1073,8 +1073,8 @@ public final class EmulationActivity extends AppCompatActivity
int ir_yaw = Integer.parseInt( int ir_yaw = Integer.parseInt(
mPreferences.getString(SettingsFile.KEY_WIIBIND_IR_YAW + mSelectedGameId, "15")); mPreferences.getString(SettingsFile.KEY_WIIBIND_IR_YAW + mSelectedGameId, "15"));
TextView text_slider_value_yaw = (TextView) view.findViewById(R.id.text_ir_yaw); TextView text_slider_value_yaw = view.findViewById(R.id.text_ir_yaw);
TextView units_yaw = (TextView) view.findViewById(R.id.text_ir_yaw_units); TextView units_yaw = view.findViewById(R.id.text_ir_yaw_units);
SeekBar seekbar_yaw = view.findViewById(R.id.seekbar_width); SeekBar seekbar_yaw = view.findViewById(R.id.seekbar_width);
text_slider_value_yaw.setText(String.valueOf(ir_yaw)); text_slider_value_yaw.setText(String.valueOf(ir_yaw));
@ -1105,10 +1105,8 @@ public final class EmulationActivity extends AppCompatActivity
mPreferences.getString(SettingsFile.KEY_WIIBIND_IR_VERTICAL_OFFSET + mSelectedGameId, mPreferences.getString(SettingsFile.KEY_WIIBIND_IR_VERTICAL_OFFSET + mSelectedGameId,
"10")); "10"));
TextView text_slider_value_vertical_offset = TextView text_slider_value_vertical_offset = view.findViewById(R.id.text_ir_vertical_offset);
(TextView) view.findViewById(R.id.text_ir_vertical_offset); TextView units_vertical_offset = view.findViewById(R.id.text_ir_vertical_offset_units);
TextView units_vertical_offset =
(TextView) view.findViewById(R.id.text_ir_vertical_offset_units);
SeekBar seekbar_vertical_offset = view.findViewById(R.id.seekbar_vertical_offset); SeekBar seekbar_vertical_offset = view.findViewById(R.id.seekbar_vertical_offset);
text_slider_value_vertical_offset.setText(String.valueOf(ir_vertical_offset)); text_slider_value_vertical_offset.setText(String.valueOf(ir_vertical_offset));

View File

@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.adapters;
import android.content.Context; import android.content.Context;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter; import androidx.fragment.app.FragmentPagerAdapter;
@ -28,10 +29,11 @@ public class PlatformPagerAdapter extends FragmentPagerAdapter
public PlatformPagerAdapter(FragmentManager fm, Context context) public PlatformPagerAdapter(FragmentManager fm, Context context)
{ {
super(fm); super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
mContext = context; mContext = context;
} }
@NonNull
@Override @Override
public Fragment getItem(int position) public Fragment getItem(int position)
{ {

View File

@ -73,7 +73,7 @@ public final class GameDetailsDialog extends DialogFragment
textCountry.setText(country); textCountry.setText(country);
textCompany.setText(gameFile.getCompany()); textCompany.setText(gameFile.getCompany());
textGameId.setText(gameFile.getGameId()); textGameId.setText(gameFile.getGameId());
textRevision.setText(Integer.toString(gameFile.getRevision())); textRevision.setText(String.valueOf(gameFile.getRevision()));
if (!gameFile.shouldShowFileFormatDetails()) if (!gameFile.shouldShowFileFormatDetails())
{ {

View File

@ -1,5 +1,7 @@
package org.dolphinemu.dolphinemu.features.settings.ui; package org.dolphinemu.dolphinemu.features.settings.ui;
import androidx.annotation.NonNull;
public enum MenuTag public enum MenuTag
{ {
CONFIG("config"), CONFIG("config"),
@ -46,6 +48,7 @@ public enum MenuTag
this.subType = subtype; this.subType = subtype;
} }
@NonNull
@Override @Override
public String toString() public String toString()
{ {

View File

@ -2,8 +2,6 @@ package org.dolphinemu.dolphinemu.features.settings.ui;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -45,7 +43,6 @@ import org.dolphinemu.dolphinemu.features.settings.ui.viewholder.SubmenuViewHold
import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile; import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile;
import org.dolphinemu.dolphinemu.ui.main.MainPresenter; import org.dolphinemu.dolphinemu.ui.main.MainPresenter;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper; import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
import org.dolphinemu.dolphinemu.utils.Log;
import java.security.InvalidParameterException; import java.security.InvalidParameterException;
import java.util.ArrayList; import java.util.ArrayList;
@ -97,7 +94,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
case SettingsItem.TYPE_SLIDER: case SettingsItem.TYPE_SLIDER:
view = inflater.inflate(R.layout.list_item_setting, parent, false); view = inflater.inflate(R.layout.list_item_setting, parent, false);
return new SliderViewHolder(view, this); return new SliderViewHolder(view, this, mContext);
case SettingsItem.TYPE_SUBMENU: case SettingsItem.TYPE_SUBMENU:
view = inflater.inflate(R.layout.list_item_setting_submenu, parent, false); view = inflater.inflate(R.layout.list_item_setting_submenu, parent, false);
@ -120,8 +117,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
return new ConfirmRunnableViewHolder(view, this, mContext, mView); return new ConfirmRunnableViewHolder(view, this, mContext, mView);
default: default:
Log.error("[SettingsAdapter] Invalid view type: " + viewType); throw new IllegalArgumentException("Invalid view type: " + viewType);
return null;
} }
} }
@ -243,13 +239,13 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
builder.setPositiveButton(R.string.ok, this); builder.setPositiveButton(R.string.ok, this);
mDialog = builder.show(); mDialog = builder.show();
mTextSliderValue = (TextView) view.findViewById(R.id.text_value); mTextSliderValue = view.findViewById(R.id.text_value);
mTextSliderValue.setText(String.valueOf(mSeekbarProgress)); mTextSliderValue.setText(String.valueOf(mSeekbarProgress));
TextView units = (TextView) view.findViewById(R.id.text_units); TextView units = view.findViewById(R.id.text_units);
units.setText(item.getUnits()); units.setText(item.getUnits());
SeekBar seekbar = (SeekBar) view.findViewById(R.id.seekbar); SeekBar seekbar = view.findViewById(R.id.seekbar);
seekbar.setMax(item.getMax()); seekbar.setMax(item.getMax());
seekbar.setProgress(mSeekbarProgress); seekbar.setProgress(mSeekbarProgress);
@ -273,21 +269,13 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
mContext.getString(item.getNameId()))); mContext.getString(item.getNameId())));
dialog.setButton(AlertDialog.BUTTON_NEGATIVE, mContext.getString(R.string.cancel), this); dialog.setButton(AlertDialog.BUTTON_NEGATIVE, mContext.getString(R.string.cancel), this);
dialog.setButton(AlertDialog.BUTTON_NEUTRAL, mContext.getString(R.string.clear), dialog.setButton(AlertDialog.BUTTON_NEUTRAL, mContext.getString(R.string.clear),
(dialogInterface, i) -> (dialogInterface, i) -> item.clearValue());
{
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(mContext);
item.clearValue();
});
dialog.setOnDismissListener(dialog1 -> dialog.setOnDismissListener(dialog1 ->
{ {
StringSetting setting = new StringSetting(item.getKey(), item.getSection(), item.getValue()); StringSetting setting = new StringSetting(item.getKey(), item.getSection(), item.getValue());
notifyItemChanged(position); notifyItemChanged(position);
if (setting != null) mView.putSetting(setting);
{
mView.putSetting(setting);
}
mView.onSettingChanged(item.getKey()); mView.onSettingChanged(item.getKey());
}); });

View File

@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.features.settings.ui;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
@ -84,7 +85,7 @@ public final class SettingsFragment extends Fragment implements SettingsFragment
} }
@Override @Override
public void onAttach(Context context) public void onAttach(@NonNull Context context)
{ {
super.onAttach(context); super.onAttach(context);
@ -115,7 +116,7 @@ public final class SettingsFragment extends Fragment implements SettingsFragment
} }
@Override @Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
{ {
Bundle args = getArguments(); Bundle args = getArguments();
MenuTag menuTag = (MenuTag) args.getSerializable(ARGUMENT_MENU_TAG); MenuTag menuTag = (MenuTag) args.getSerializable(ARGUMENT_MENU_TAG);

View File

@ -59,8 +59,8 @@ public final class SettingsFragmentPresenter
public void onCreate(MenuTag menuTag, String gameId, Bundle extras) public void onCreate(MenuTag menuTag, String gameId, Bundle extras)
{ {
mGameID = gameId; mGameID = gameId;
this.mMenuTag = menuTag; this.mMenuTag = menuTag;
if (menuTag.isGCPadMenu() || menuTag.isWiimoteExtensionMenu()) if (menuTag.isGCPadMenu() || menuTag.isWiimoteExtensionMenu())
{ {
mControllerNumber = menuTag.getSubType(); mControllerNumber = menuTag.getSubType();
@ -70,10 +70,6 @@ public final class SettingsFragmentPresenter
{ {
mControllerNumber = menuTag.getSubType(); mControllerNumber = menuTag.getSubType();
} }
else
{
mMenuTag = menuTag;
}
} }
public void onViewCreated(MenuTag menuTag, Settings settings) public void onViewCreated(MenuTag menuTag, Settings settings)

View File

@ -9,8 +9,6 @@ import android.widget.FrameLayout;
*/ */
public final class SettingsFrameLayout extends FrameLayout public final class SettingsFrameLayout extends FrameLayout
{ {
private float mVisibleness = 1.0f;
public SettingsFrameLayout(Context context) public SettingsFrameLayout(Context context)
{ {
super(context); super(context);
@ -44,7 +42,7 @@ public final class SettingsFrameLayout extends FrameLayout
public float getVisibleness() public float getVisibleness()
{ {
return mVisibleness; return 1.0f;
} }
public void setVisibleness(float visibleness) public void setVisibleness(float visibleness)

View File

@ -28,9 +28,9 @@ public final class CheckBoxSettingViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
mCheckbox = (CheckBox) root.findViewById(R.id.checkbox); mCheckbox = root.findViewById(R.id.checkbox);
} }
@Override @Override

View File

@ -35,8 +35,8 @@ public final class ConfirmRunnableViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
} }
@Override @Override
@ -78,9 +78,7 @@ public final class ConfirmRunnableViewHolder extends SettingViewHolder
mView.getActivity().finish(); mView.getActivity().finish();
}) })
.setNegativeButton("No", (dialog, whichButton) -> .setNegativeButton("No", (dialog, whichButton) ->
{ dialog.dismiss());
dialog.dismiss();
});
builder.show(); builder.show();
} }

View File

@ -26,8 +26,8 @@ public final class FilePickerViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
} }
@Override @Override

View File

@ -20,7 +20,7 @@ public final class HeaderViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mHeaderName = (TextView) root.findViewById(R.id.text_header_name); mHeaderName = root.findViewById(R.id.text_header_name);
} }
@Override @Override

View File

@ -30,8 +30,8 @@ public class RumbleBindingViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
} }
@Override @Override

View File

@ -26,8 +26,8 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
} }
@Override @Override

View File

@ -1,5 +1,6 @@
package org.dolphinemu.dolphinemu.features.settings.ui.viewholder; package org.dolphinemu.dolphinemu.features.settings.ui.viewholder;
import android.content.Context;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
@ -10,21 +11,25 @@ import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
public final class SliderViewHolder extends SettingViewHolder public final class SliderViewHolder extends SettingViewHolder
{ {
private Context mContext;
private SliderSetting mItem; private SliderSetting mItem;
private TextView mTextSettingName; private TextView mTextSettingName;
private TextView mTextSettingDescription; private TextView mTextSettingDescription;
public SliderViewHolder(View itemView, SettingsAdapter adapter) public SliderViewHolder(View itemView, SettingsAdapter adapter, Context context)
{ {
super(itemView, adapter); super(itemView, adapter);
mContext = context;
} }
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
mTextSettingDescription = (TextView) root.findViewById(R.id.text_setting_description); mTextSettingDescription = root.findViewById(R.id.text_setting_description);
} }
@Override @Override
@ -40,7 +45,9 @@ public final class SliderViewHolder extends SettingViewHolder
} }
else else
{ {
mTextSettingDescription.setText(mItem.getSelectedValue() + mItem.getUnits()); mTextSettingDescription.setText(mContext
.getString(R.string.slider_setting_value, mItem.getSelectedValue(),
mItem.getUnits()));
} }
} }

View File

@ -22,7 +22,7 @@ public final class SubmenuViewHolder extends SettingViewHolder
@Override @Override
protected void findViews(View root) protected void findViews(View root)
{ {
mTextSettingName = (TextView) root.findViewById(R.id.text_setting_name); mTextSettingName = root.findViewById(R.id.text_setting_name);
} }
@Override @Override

View File

@ -6,6 +6,7 @@ import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
@ -54,7 +55,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
} }
@Override @Override
public void onAttach(Context context) public void onAttach(@NonNull Context context)
{ {
super.onAttach(context); super.onAttach(context);
@ -213,7 +214,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
} }
@Override @Override
public void surfaceCreated(SurfaceHolder holder) public void surfaceCreated(@NonNull SurfaceHolder holder)
{ {
// We purposely don't do anything here. // We purposely don't do anything here.
// All work is done in surfaceChanged, which we are guaranteed to get even for surface creation. // All work is done in surfaceChanged, which we are guaranteed to get even for surface creation.
@ -227,7 +228,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
} }
@Override @Override
public void surfaceDestroyed(SurfaceHolder holder) public void surfaceDestroyed(@NonNull SurfaceHolder holder)
{ {
mEmulationState.clearSurface(); mEmulationState.clearSurface();
} }
@ -447,7 +448,10 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
try try
{ {
File file = new File(path); File file = new File(path);
file.delete(); if (!file.delete())
{
Log.error("[EmulationFragment] Failed to delete " + file.getAbsolutePath());
}
} }
catch (Exception ignored) catch (Exception ignored)
{ {

View File

@ -2,7 +2,6 @@ package org.dolphinemu.dolphinemu.fragments;
import android.os.Bundle; import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import android.util.SparseIntArray; import android.util.SparseIntArray;
@ -58,13 +57,12 @@ public final class MenuFragment extends Fragment implements View.OnClickListener
return fragment; return fragment;
} }
@Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{ {
View rootView = inflater.inflate(R.layout.fragment_ingame_menu, container, false); View rootView = inflater.inflate(R.layout.fragment_ingame_menu, container, false);
LinearLayout options = (LinearLayout) rootView.findViewById(R.id.layout_options); LinearLayout options = rootView.findViewById(R.id.layout_options);
mPauseEmulation = options.findViewById(R.id.menu_pause_emulation); mPauseEmulation = options.findViewById(R.id.menu_pause_emulation);
mUnpauseEmulation = options.findViewById(R.id.menu_unpause_emulation); mUnpauseEmulation = options.findViewById(R.id.menu_unpause_emulation);

View File

@ -80,13 +80,12 @@ public final class SaveLoadStateFragment extends Fragment implements View.OnClic
mSaveOrLoad = (SaveOrLoad) getArguments().getSerializable(KEY_SAVEORLOAD); mSaveOrLoad = (SaveOrLoad) getArguments().getSerializable(KEY_SAVEORLOAD);
} }
@Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{ {
View rootView = inflater.inflate(R.layout.fragment_saveload_state, container, false); View rootView = inflater.inflate(R.layout.fragment_saveload_state, container, false);
GridLayout grid = (GridLayout) rootView.findViewById(R.id.grid_state_slots); GridLayout grid = rootView.findViewById(R.id.grid_state_slots);
for (int childIndex = 0; childIndex < grid.getChildCount(); childIndex++) for (int childIndex = 0; childIndex < grid.getChildCount(); childIndex++)
{ {
Button button = (Button) grid.getChildAt(childIndex); Button button = (Button) grid.getChildAt(childIndex);

View File

@ -1,7 +1,6 @@
package org.dolphinemu.dolphinemu.model; package org.dolphinemu.dolphinemu.model;
import android.content.Context; import android.content.Context;
import android.os.Environment;
public class GameFile public class GameFile
{ {

View File

@ -33,6 +33,12 @@ public class GameFileCache
{ {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Set<String> folderPaths = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET); Set<String> folderPaths = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET);
if (folderPaths == null)
{
return;
}
Set<String> newFolderPaths = new HashSet<>(folderPaths); Set<String> newFolderPaths = new HashSet<>(folderPaths);
newFolderPaths.add(path); newFolderPaths.add(path);
SharedPreferences.Editor editor = preferences.edit(); SharedPreferences.Editor editor = preferences.edit();
@ -44,6 +50,12 @@ public class GameFileCache
{ {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Set<String> folderPaths = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET); Set<String> folderPaths = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET);
if (folderPaths == null)
{
return;
}
Set<String> newFolderPaths = new HashSet<>(); Set<String> newFolderPaths = new HashSet<>();
for (String folderPath : folderPaths) for (String folderPath : folderPaths)
{ {
@ -78,7 +90,13 @@ public class GameFileCache
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Set<String> folderPathsSet = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET); Set<String> folderPathsSet = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET);
String[] folderPaths = folderPathsSet.toArray(new String[folderPathsSet.size()]);
if (folderPathsSet == null)
{
return false;
}
String[] folderPaths = folderPathsSet.toArray(new String[0]);
boolean cacheChanged = update(folderPaths, recursiveScan); boolean cacheChanged = update(folderPaths, recursiveScan);
cacheChanged |= updateAdditionalMetadata(); cacheChanged |= updateAdditionalMetadata();

View File

@ -49,8 +49,8 @@ public class InputOverlayPointer
Integer x = outMetrics.widthPixels; Integer x = outMetrics.widthPixels;
// Adjusting for device's black bars. // Adjusting for device's black bars.
Float deviceAR = (float) x / y; float deviceAR = (float) x / y;
Float gameAR = NativeLibrary.GetGameAspectRatio(); float gameAR = NativeLibrary.GetGameAspectRatio();
aspectAdjusted = gameAR / deviceAR; aspectAdjusted = gameAR / deviceAR;
if (gameAR <= deviceAR) // Black bars on left/right if (gameAR <= deviceAR) // Black bars on left/right
@ -73,7 +73,7 @@ public class InputOverlayPointer
} }
} }
public boolean onTouch(MotionEvent event) public void onTouch(MotionEvent event)
{ {
int pointerIndex = event.getActionIndex(); int pointerIndex = event.getActionIndex();
@ -92,7 +92,7 @@ public class InputOverlayPointer
} }
if (trackId == -1) if (trackId == -1)
return false; return;
int x = (int) event.getX(event.findPointerIndex(trackId)); int x = (int) event.getX(event.findPointerIndex(trackId));
int y = (int) event.getY(event.findPointerIndex(trackId)); int y = (int) event.getY(event.findPointerIndex(trackId));
@ -106,7 +106,6 @@ public class InputOverlayPointer
axes[0] = ((y * aspectAdjusted) - maxHeight) / maxHeight; axes[0] = ((y * aspectAdjusted) - maxHeight) / maxHeight;
axes[1] = (x - maxWidth) / maxWidth; axes[1] = (x - maxWidth) / maxWidth;
} }
return false;
} }
private void touchPress() private void touchPress()

View File

@ -53,7 +53,7 @@ public class CustomTitleView extends LinearLayout implements TitleViewAdapter.Pr
{ {
super(context, attrs, defStyle); super(context, attrs, defStyle);
View root = LayoutInflater.from(context).inflate(R.layout.tv_title, this); View root = LayoutInflater.from(context).inflate(R.layout.tv_title, this);
mTitleView = (TextView) root.findViewById(R.id.title); mTitleView = root.findViewById(R.id.title);
mBadgeView = root.findViewById(R.id.badge); mBadgeView = root.findViewById(R.id.badge);
} }

View File

@ -2,7 +2,7 @@ package org.dolphinemu.dolphinemu.ui.platform;
import android.os.Bundle; import android.os.Bundle;
import androidx.annotation.Nullable; import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -50,7 +50,7 @@ public final class PlatformGamesFragment extends Fragment implements PlatformGam
} }
@Override @Override
public void onViewCreated(View view, Bundle savedInstanceState) public void onViewCreated(@NonNull View view, Bundle savedInstanceState)
{ {
int columns = getResources().getInteger(R.integer.game_grid_columns); int columns = getResources().getInteger(R.integer.game_grid_columns);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), columns); RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), columns);
@ -88,6 +88,6 @@ public final class PlatformGamesFragment extends Fragment implements PlatformGam
private void findViews(View root) private void findViews(View root)
{ {
mRecyclerView = (RecyclerView) root.findViewById(R.id.grid_games); mRecyclerView = root.findViewById(R.id.grid_games);
} }
} }

View File

@ -6,8 +6,8 @@ import java.util.Map;
public class BiMap<K, V> public class BiMap<K, V>
{ {
private Map<K, V> forward = new HashMap<K, V>(); private Map<K, V> forward = new HashMap<>();
private Map<V, K> backward = new HashMap<V, K>(); private Map<V, K> backward = new HashMap<>();
public synchronized void add(K key, V value) public synchronized void add(K key, V value)
{ {

View File

@ -8,10 +8,9 @@ import java.io.FileOutputStream;
public final class CoverHelper public final class CoverHelper
{ {
private static String baseUrl = "https://art.gametdb.com/wii/cover/%s/%s.png";
public static String buildGameTDBUrl(GameFile game, String region) public static String buildGameTDBUrl(GameFile game, String region)
{ {
String baseUrl = "https://art.gametdb.com/wii/cover/%s/%s.png";
return String.format(baseUrl, region, game.getGameTdbId()); return String.format(baseUrl, region, game.getGameTdbId());
} }

View File

@ -77,7 +77,7 @@ public final class StartupHandler
if (currentTime > (lastOpen + SESSION_TIMEOUT)) if (currentTime > (lastOpen + SESSION_TIMEOUT))
{ {
new AfterDirectoryInitializationRunner().run(context, new AfterDirectoryInitializationRunner().run(context,
() -> NativeLibrary.ReportStartToAnalytics()); NativeLibrary::ReportStartToAnalytics);
} }
} }
} }

View File

@ -123,11 +123,10 @@ public class TvUtil
throws Resources.NotFoundException throws Resources.NotFoundException
{ {
Resources res = context.getResources(); Resources res = context.getResources();
Uri resUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + return Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE +
"://" + res.getResourcePackageName(resId) "://" + res.getResourcePackageName(resId)
+ '/' + res.getResourceTypeName(resId) + '/' + res.getResourceTypeName(resId)
+ '/' + res.getResourceEntryName(resId)); + '/' + res.getResourceEntryName(resId));
return resUri;
} }
/** /**
@ -255,9 +254,7 @@ public class TvUtil
*/ */
public static List<HomeScreenChannel> createUniversalSubscriptions() public static List<HomeScreenChannel> createUniversalSubscriptions()
{ {
//Leaving the subs local variable in case more channels are created other than platforms. return new ArrayList<>(createPlatformSubscriptions());
List<HomeScreenChannel> subs = new ArrayList<>(createPlatformSubscriptions());
return subs;
} }
private static List<HomeScreenChannel> createPlatformSubscriptions() private static List<HomeScreenChannel> createPlatformSubscriptions()

View File

@ -395,6 +395,7 @@
<string name="pitch">Total Pitch</string> <string name="pitch">Total Pitch</string>
<string name="yaw">Total Yaw</string> <string name="yaw">Total Yaw</string>
<string name="vertical_offset">Vertical Offset</string> <string name="vertical_offset">Vertical Offset</string>
<string name="slider_setting_value">%1$d%2$s</string>
<string name="disc_number">Disc %1$d</string> <string name="disc_number">Disc %1$d</string>
<string name="disabled_gc_overlay_notice">GameCube Controller 1 is set to \"None\"</string> <string name="disabled_gc_overlay_notice">GameCube Controller 1 is set to \"None\"</string>