Android: Start structure the project around features instead of data types

This only moves the settings feature, the rest will be moved slowely later
This commit is contained in:
mahdihijazi
2018-08-03 21:41:34 +02:00
parent d425732837
commit 61835a7e08
40 changed files with 132 additions and 135 deletions
@@ -54,7 +54,7 @@
</activity>
<activity
android:name=".ui.settings.SettingsActivity"
android:name=".features.settings.ui.SettingsActivity"
android:theme="@style/DolphinSettingsGamecube"
android:label="@string/preferences_settings"/>
@@ -14,8 +14,8 @@ import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
import org.dolphinemu.dolphinemu.model.GameFile;
import org.dolphinemu.dolphinemu.services.DirectoryInitializationService;
import org.dolphinemu.dolphinemu.ui.settings.MenuTag;
import org.dolphinemu.dolphinemu.ui.settings.SettingsActivity;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity;
import org.dolphinemu.dolphinemu.utils.PicassoUtils;
import org.dolphinemu.dolphinemu.viewholders.GameViewHolder;
@@ -17,8 +17,8 @@ import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.model.GameFile;
import org.dolphinemu.dolphinemu.services.DirectoryInitializationService;
import org.dolphinemu.dolphinemu.ui.platform.Platform;
import org.dolphinemu.dolphinemu.ui.settings.MenuTag;
import org.dolphinemu.dolphinemu.ui.settings.SettingsActivity;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity;
import org.dolphinemu.dolphinemu.utils.PicassoUtils;
import org.dolphinemu.dolphinemu.viewholders.TvGameViewHolder;
@@ -8,7 +8,7 @@ import android.view.InputDevice;
import android.view.KeyEvent;
import android.view.MotionEvent;
import org.dolphinemu.dolphinemu.model.settings.view.InputBindingSetting;
import org.dolphinemu.dolphinemu.features.settings.model.view.InputBindingSetting;
import org.dolphinemu.dolphinemu.utils.ControllerMappingHelper;
import org.dolphinemu.dolphinemu.utils.Log;
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
public final class BooleanSetting extends Setting
{
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
public final class FloatSetting extends Setting
{
@@ -1,6 +1,6 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
import org.dolphinemu.dolphinemu.ui.settings.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
public final class IntSetting extends Setting
{
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
/**
* Abstraction for a setting item as read from / written to Dolphin's configuration ini files.
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
import java.util.HashMap;
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.model.settings;
package org.dolphinemu.dolphinemu.features.settings.model;
public final class StringSetting extends Setting
{
@@ -1,7 +1,7 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.BooleanSetting;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
public final class CheckBoxSetting extends SettingsItem
{
@@ -1,6 +1,6 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
public final class HeaderSetting extends SettingsItem
{
@@ -1,8 +1,7 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.BooleanSetting;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.model.settings.StringSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
import org.dolphinemu.dolphinemu.features.settings.model.StringSetting;
public final class InputBindingSetting extends SettingsItem
{
@@ -1,6 +1,7 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
/**
* ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.
@@ -110,7 +111,7 @@ public abstract class SettingsItem
}
/**
* Used by {@link org.dolphinemu.dolphinemu.ui.settings.SettingsAdapter}'s onCreateViewHolder()
* Used by {@link SettingsAdapter}'s onCreateViewHolder()
* method to determine which type of ViewHolder should be created.
*
* @return An integer (ideally, one of the constants defined in this file)
@@ -1,8 +1,8 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.IntSetting;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.ui.settings.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.model.IntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
public final class SingleChoiceSetting extends SettingsItem
{
@@ -1,8 +1,8 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.FloatSetting;
import org.dolphinemu.dolphinemu.model.settings.IntSetting;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.features.settings.model.FloatSetting;
import org.dolphinemu.dolphinemu.features.settings.model.IntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
import org.dolphinemu.dolphinemu.utils.Log;
import org.dolphinemu.dolphinemu.utils.SettingsFile;
@@ -1,7 +1,7 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.model.settings.StringSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
import org.dolphinemu.dolphinemu.features.settings.model.StringSetting;
public class StringSingleChoiceSetting extends SettingsItem
{
@@ -1,7 +1,7 @@
package org.dolphinemu.dolphinemu.model.settings.view;
package org.dolphinemu.dolphinemu.features.settings.model.view;
import org.dolphinemu.dolphinemu.model.settings.Setting;
import org.dolphinemu.dolphinemu.ui.settings.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.model.Setting;
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
public final class SubmenuSetting extends SettingsItem
{
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.ui.settings;
package org.dolphinemu.dolphinemu.features.settings.ui;
public enum MenuTag
{
@@ -1,4 +1,4 @@
package org.dolphinemu.dolphinemu.ui.settings;
package org.dolphinemu.dolphinemu.features.settings.ui;
import android.app.ProgressDialog;
import android.content.Context;
@@ -15,10 +15,9 @@ import android.view.MenuItem;
import android.widget.Toast;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.model.settings.SettingSection;
import org.dolphinemu.dolphinemu.features.settings.model.SettingSection;
import org.dolphinemu.dolphinemu.services.DirectoryInitializationService;
import org.dolphinemu.dolphinemu.utils.DirectoryStateReceiver;
import org.dolphinemu.dolphinemu.utils.Log;
import java.util.ArrayList;
import java.util.HashMap;

Some files were not shown because too many files have changed in this diff Show More