From cc94541d0b80ee12be408b61e19ecbcd0435033d Mon Sep 17 00:00:00 2001 From: Jedi Burrell Date: Fri, 12 May 2017 08:51:45 -0400 Subject: [PATCH] Revamp Settings. Better organization & layout in Settings. --- app/src/main/AndroidManifest.xml | 9 +- .../fastaccess/data/dao/model/Setting.java | 36 +++++ .../ui/adapter/SettingsAdapter.java | 65 ++++++++ .../com/fastaccess/ui/base/BaseActivity.java | 13 +- .../ui/modules/settings/SettingsActivity.java | 143 ++++++++++++++++++ .../ui/modules/settings/SettingsFragment.java | 16 +- .../ui/modules/settings/SettingsMvp.java | 13 ++ .../modules/settings/SettingsPresenter.java | 27 ++++ .../category/SettingsCategoryActivity.java | 55 +++++++ .../category/SettingsCategoryFragment.java | 136 +++++++++++++++++ .../category/SettingsCategoryMvp.java | 18 +++ .../category/SettingsCategoryPresenter.java | 10 ++ app/src/main/res/drawable/ic_blank.xml | 7 + app/src/main/res/drawable/ic_brush.xml | 9 ++ app/src/main/res/drawable/ic_check.xml | 9 ++ app/src/main/res/drawable/ic_color_lens.xml | 9 ++ app/src/main/res/drawable/ic_crop_square.xml | 9 ++ app/src/main/res/drawable/ic_info.xml | 9 ++ app/src/main/res/drawable/ic_slack.xml | 6 + app/src/main/res/drawable/ic_support.xml | 10 ++ .../main/res/drawable/ic_track_changes.xml | 9 ++ app/src/main/res/drawable/ic_update.xml | 9 ++ app/src/main/res/drawable/ic_wrap_text.xml | 9 ++ app/src/main/res/layout/activity_settings.xml | 23 +++ .../res/layout/activity_settings_category.xml | 16 ++ app/src/main/res/layout/dialog_picker.xml | 10 ++ app/src/main/res/layout/icon_row_item.xml | 43 ++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-in/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 1 + app/src/main/res/values/strings.xml | 2 + app/src/main/res/xml/about_settings.xml | 30 ++++ app/src/main/res/xml/behaviour_settings.xml | 25 +++ .../main/res/xml/customization_settings.xml | 44 ++++++ app/src/main/res/xml/fasthub_settings.xml | 5 + app/src/main/res/xml/language_settings.xml | 13 ++ .../main/res/xml/notification_settings.xml | 31 ++++ 39 files changed, 871 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/fastaccess/data/dao/model/Setting.java create mode 100644 app/src/main/java/com/fastaccess/ui/adapter/SettingsAdapter.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/SettingsActivity.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/SettingsMvp.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/SettingsPresenter.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryActivity.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryMvp.java create mode 100644 app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryPresenter.java create mode 100644 app/src/main/res/drawable/ic_blank.xml create mode 100644 app/src/main/res/drawable/ic_brush.xml create mode 100644 app/src/main/res/drawable/ic_check.xml create mode 100644 app/src/main/res/drawable/ic_color_lens.xml create mode 100644 app/src/main/res/drawable/ic_crop_square.xml create mode 100644 app/src/main/res/drawable/ic_info.xml create mode 100644 app/src/main/res/drawable/ic_slack.xml create mode 100644 app/src/main/res/drawable/ic_support.xml create mode 100644 app/src/main/res/drawable/ic_track_changes.xml create mode 100644 app/src/main/res/drawable/ic_update.xml create mode 100644 app/src/main/res/drawable/ic_wrap_text.xml create mode 100644 app/src/main/res/layout/activity_settings.xml create mode 100644 app/src/main/res/layout/activity_settings_category.xml create mode 100644 app/src/main/res/layout/dialog_picker.xml create mode 100644 app/src/main/res/layout/icon_row_item.xml create mode 100644 app/src/main/res/xml/about_settings.xml create mode 100644 app/src/main/res/xml/behaviour_settings.xml create mode 100644 app/src/main/res/xml/customization_settings.xml create mode 100644 app/src/main/res/xml/language_settings.xml create mode 100644 app/src/main/res/xml/notification_settings.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4f49128f..cdbe1b74 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,10 +30,10 @@ android:launchMode="singleTask"> + - + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/fastaccess/data/dao/model/Setting.java b/app/src/main/java/com/fastaccess/data/dao/model/Setting.java new file mode 100644 index 00000000..9f88062a --- /dev/null +++ b/app/src/main/java/com/fastaccess/data/dao/model/Setting.java @@ -0,0 +1,36 @@ +package com.fastaccess.data.dao.model; + +import android.graphics.drawable.Drawable; + +/** + * Created by JediB on 5/12/2017. + */ + +public class Setting { + + private int image; + private String title; + private String summary; + + public static Setting newInstance(int icon, String title, String summary) { + Setting setting = new Setting(); + setting.image = icon; + setting.title = title; + setting.summary = summary; + + return setting; + } + + public int getImage(){ + return image; + } + + public String getTitle(){ + return title; + } + + public String getSummary(){ + return summary; + } + +} diff --git a/app/src/main/java/com/fastaccess/ui/adapter/SettingsAdapter.java b/app/src/main/java/com/fastaccess/ui/adapter/SettingsAdapter.java new file mode 100644 index 00000000..82d63fc9 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/adapter/SettingsAdapter.java @@ -0,0 +1,65 @@ +package com.fastaccess.ui.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.fastaccess.R; +import com.fastaccess.data.dao.model.Setting; +import com.fastaccess.helper.ActivityHelper; + +/** + * Created by JediB on 5/12/2017. + */ + +public class SettingsAdapter extends BaseAdapter { + + private Setting[] settings; + private Context context; + + public SettingsAdapter(Context context, Setting[] settings) { + this.context = context; + this.settings = settings; + } + + @Override + public int getCount() { + + return settings.length; + } + + @Override + public Setting getItem(int position) { + return settings[position]; + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + LayoutInflater inflater = ActivityHelper.getActivity(context).getLayoutInflater(); + View row; + row = inflater.inflate(R.layout.icon_row_item, parent, false); + TextView title; + TextView summary; + ImageView image; + image = (ImageView) row.findViewById(R.id.iconItemImage); + summary = (TextView) row.findViewById(R.id.iconItemSummary); + title = (TextView) row.findViewById(R.id.iconItemTitle); + title.setText(settings[position].getTitle()); + summary.setText(settings[position].getSummary()); + image.setImageResource(settings[position].getImage()); + + if(summary.getText().toString().length()<=0) + summary.setVisibility(View.GONE); + + return row; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fastaccess/ui/base/BaseActivity.java b/app/src/main/java/com/fastaccess/ui/base/BaseActivity.java index c959a379..9c109bdb 100644 --- a/app/src/main/java/com/fastaccess/ui/base/BaseActivity.java +++ b/app/src/main/java/com/fastaccess/ui/base/BaseActivity.java @@ -44,6 +44,7 @@ import com.fastaccess.ui.modules.main.orgs.OrgListDialogFragment; import com.fastaccess.ui.modules.notification.NotificationActivity; import com.fastaccess.ui.modules.pinned.PinnedReposActivity; import com.fastaccess.ui.modules.repos.RepoPagerActivity; +import com.fastaccess.ui.modules.settings.SettingsActivity; import com.fastaccess.ui.modules.settings.SettingsBottomSheetDialog; import com.fastaccess.ui.modules.user.UserPagerActivity; import com.fastaccess.ui.widgets.AvatarLayout; @@ -72,6 +73,8 @@ public abstract class BaseActivity { + Intent intent = new Intent(this, SettingsCategoryActivity.class); + intent.putExtra("settings", position); + intent.putExtra("title", settings[position].getTitle()); + + switch (position) { + case 1: + startActivityForResult(intent, THEME_CHANGE); + break; + case 4: + showLanguageList(); + break; + default: + startActivity(intent); + break; + } + }); + } + + private void showLanguageList(){ + final String language = PrefHelper.getString("app_language"); + + String names[] = getResources().getStringArray(R.array.languages_array); + String values[] = getResources().getStringArray(R.array.languages_array_values); + + int selected = Arrays.asList(values).indexOf(PrefHelper.getString("app_language")); + + AlertDialog.Builder alertDialog = new AlertDialog.Builder(SettingsActivity.this); + LayoutInflater inflater = getLayoutInflater(); + View convertView = inflater.inflate(R.layout.dialog_picker, null); + alertDialog.setView(convertView); + alertDialog.setTitle("List"); + RadioGroup radioGroup = (RadioGroup) convertView.findViewById(R.id.picker); + radioGroup.setPadding((int) getResources().getDimension(R.dimen.spacing_xs_large), (int) getResources().getDimension(R.dimen.spacing_xs_large), + (int) getResources().getDimension(R.dimen.spacing_xs_large), (int) getResources().getDimension(R.dimen.spacing_xs_large)); + for(int i = 0; i < names.length; i++) + { + RadioButton radioButtonView = new RadioButton(this); + radioButtonView.setText(names[i]); + radioButtonView.setId(i); + radioButtonView.setGravity(Gravity.CENTER_VERTICAL); + radioButtonView.setPadding((int) getResources().getDimension(R.dimen.spacing_xs_large), (int) getResources().getDimension(R.dimen.spacing_xs_large), + (int) getResources().getDimension(R.dimen.spacing_xs_large), (int) getResources().getDimension(R.dimen.spacing_xs_large)); + radioGroup.addView(radioButtonView); + if(i==selected) + radioGroup.check(i); + } + + radioGroup.setOnCheckedChangeListener((group, checkedId) -> { + int index = radioGroup.indexOfChild(radioGroup.findViewById(radioGroup.getCheckedRadioButtonId())); + + PrefHelper.set("app_language", values[index]); + if(language!=values[index]) + setResult(RESULT_OK); + }); + + alertDialog.setView(convertView); + alertDialog.show(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if(requestCode==THEME_CHANGE) + setResult(resultCode); + } + + @NonNull + @Override + public TiPresenter providePresenter() { + return new SettingsPresenter(); + } +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java index 66991c08..cac34070 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsFragment.java @@ -1,5 +1,6 @@ package com.fastaccess.ui.modules.settings; +import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -79,35 +80,30 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer PrefGetter.notificationDurationMillis(getActivity().getApplicationContext(), (String) newValue), true); return true; } else if (preference.getKey().equalsIgnoreCase("recylerViewAnimation")) { - restartActivity(); + getActivity().setResult(Activity.RESULT_OK); return true; } else if (preference.getKey().equalsIgnoreCase("rect_avatar")) { - restartActivity(); + getActivity().setResult(Activity.RESULT_OK); return true; } else if (preference.getKey().equalsIgnoreCase("appTheme")) { if(newValue.toString().equalsIgnoreCase(appTheme)) return true; Toasty.warning(getContext(), getString(R.string.change_theme_warning), Toast.LENGTH_LONG).show(); - restartActivity(); + getActivity().setResult(Activity.RESULT_OK); return true; } else if (preference.getKey().equalsIgnoreCase("appColor")) { if(newValue.toString().equalsIgnoreCase(appColor)) return true; Toasty.warning(getContext(), getString(R.string.change_theme_warning), Toast.LENGTH_LONG).show(); - restartActivity(); + getActivity().setResult(Activity.RESULT_OK); return true; } else if (preference.getKey().equalsIgnoreCase("app_language")) { if(newValue.toString().equalsIgnoreCase(app_lauguage)) return true; - restartActivity(); + getActivity().setResult(Activity.RESULT_OK); return true; } return false; } - private void restartActivity() { - if (callback != null) { - callback.onThemeChanged(); - } - } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsMvp.java b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsMvp.java new file mode 100644 index 00000000..13d026d2 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsMvp.java @@ -0,0 +1,13 @@ +package com.fastaccess.ui.modules.settings; + +import com.fastaccess.ui.base.mvp.BaseMvp; + +/** + * Created by JediB on 5/12/2017. + */ + +public interface SettingsMvp { + interface Presenter extends BaseMvp.FAPresenter { + + } +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsPresenter.java new file mode 100644 index 00000000..ebff46f4 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsPresenter.java @@ -0,0 +1,27 @@ +package com.fastaccess.ui.modules.settings; + +import android.support.annotation.NonNull; +import android.support.v4.view.ViewPager; +import android.widget.AutoCompleteTextView; + +import com.annimon.stream.Stream; +import com.fastaccess.R; +import com.fastaccess.data.dao.model.SearchHistory; +import com.fastaccess.helper.AppHelper; +import com.fastaccess.helper.InputHelper; +import com.fastaccess.ui.base.mvp.presenter.BasePresenter; +import com.fastaccess.ui.modules.search.SearchMvp; +import com.fastaccess.ui.modules.search.code.SearchCodeFragment; +import com.fastaccess.ui.modules.search.issues.SearchIssuesFragment; +import com.fastaccess.ui.modules.search.repos.SearchReposFragment; +import com.fastaccess.ui.modules.search.users.SearchUsersFragment; + +import java.util.ArrayList; + +/** + * Created by JediB on 5/12/2017. + */ + +class SettingsPresenter extends BasePresenter implements SettingsMvp.Presenter { + +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryActivity.java b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryActivity.java new file mode 100644 index 00000000..281993c4 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryActivity.java @@ -0,0 +1,55 @@ +package com.fastaccess.ui.modules.settings.category; + +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +import com.fastaccess.R; +import com.fastaccess.ui.base.BaseActivity; +import com.fastaccess.ui.modules.settings.SettingsFragment; + +import net.grandcentrix.thirtyinch.TiPresenter; + +public class SettingsCategoryActivity extends BaseActivity { + + @Override + protected int layout() { + return R.layout.activity_settings_category; + } + + @Override + protected boolean isTransparent() { + return false; + } + + @Override + protected boolean canBack() { + return true; + } + + @Override + protected boolean isSecured() { + return false; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setResult(RESULT_CANCELED); + + setTitle(getIntent().getStringExtra("title")); + + SettingsCategoryFragment settingsCategoryFragment = new SettingsCategoryFragment(); + + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.settingsContainer, settingsCategoryFragment) + .commit(); + } + + @NonNull + @Override + public TiPresenter providePresenter() { + return new SettingsCategoryPresenter(); + } +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java new file mode 100644 index 00000000..53673551 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java @@ -0,0 +1,136 @@ +package com.fastaccess.ui.modules.settings.category; + +import android.content.Context; +import android.content.Intent; +import android.preference.PreferenceActivity; +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceFragmentCompat; +import android.widget.FrameLayout; +import android.widget.Toast; + +import com.fastaccess.BuildConfig; +import com.fastaccess.R; +import com.fastaccess.helper.ActivityHelper; +import com.fastaccess.helper.PrefGetter; +import com.fastaccess.helper.PrefHelper; +import com.fastaccess.provider.tasks.notification.NotificationSchedulerJobTask; +import com.fastaccess.ui.base.BaseActivity; +import com.fastaccess.ui.base.mvp.BaseMvp; +import com.fastaccess.ui.modules.changelog.ChangelogBottomSheetDialog; +import com.fastaccess.ui.widgets.SpannableBuilder; + +import net.grandcentrix.thirtyinch.TiPresenter; + +import butterknife.BindView; +import es.dmoral.toasty.Toasty; + +public class SettingsCategoryFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener { + + @BindView(R.id.settingsContainer) + FrameLayout settingsContainer; + + private BaseMvp.FAView callback; + private String appTheme; + private String appColor; + private String app_lauguage; + + @Override + public void onAttach(Context context) { + super.onAttach(context); + this.callback = (BaseMvp.FAView) context; + + appTheme = PrefHelper.getString("appTheme"); + appColor = PrefHelper.getString("appColor"); + app_lauguage = PrefHelper.getString("app_language"); + } + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + int settings = getActivity().getIntent().getExtras().getInt("settings", 0); + + switch (settings){ + case 0: + addPreferencesFromResource(R.xml.notification_settings); + findPreference("notificationTime").setOnPreferenceChangeListener(this); + break; + case 1: + addPreferencesFromResource(R.xml.behaviour_settings); + break; + case 2: + addPreferencesFromResource(R.xml.customization_settings); + if (BuildConfig.FDROID) { + findPreference("enable_ads").setVisible(false); + } + findPreference("recylerViewAnimation").setOnPreferenceChangeListener(this); + findPreference("rect_avatar").setOnPreferenceChangeListener(this); + findPreference("appTheme").setOnPreferenceChangeListener(this); + findPreference("appColor").setOnPreferenceChangeListener(this); + break; + case 3: + addPreferencesFromResource(R.xml.about_settings); + findPreference("showChangelog").setOnPreferenceClickListener(preference -> { + new ChangelogBottomSheetDialog().show(getChildFragmentManager(), "ChangelogBottomSheetDialog"); + return true; + }); + findPreference("joinSlack").setOnPreferenceClickListener(preference -> { + ActivityHelper.startCustomTab(getActivity(), "http://rebrand.ly/fasthub"); + return true; + }); + findPreference("currentVersion").setSummary(SpannableBuilder.builder() + .append(getString(R.string.current_version)) + .append("(") + .bold(BuildConfig.VERSION_NAME) + .append(")")); + break; + default: + addPreferencesFromResource(R.xml.fasthub_settings); + break; + } + } + + @Override public boolean onPreferenceChange(Preference preference, Object newValue) { + if (preference.getKey().equalsIgnoreCase("notificationTime")) { + NotificationSchedulerJobTask.scheduleJob(getActivity().getApplicationContext(), + PrefGetter.notificationDurationMillis(getActivity().getApplicationContext(), (String) newValue), true); + return true; + } else if (preference.getKey().equalsIgnoreCase("recylerViewAnimation")) { + callback.onThemeChanged(); + return true; + } else if (preference.getKey().equalsIgnoreCase("rect_avatar")) { + callback.onThemeChanged(); + return true; + } else if (preference.getKey().equalsIgnoreCase("appTheme")) { + if(newValue.toString().equalsIgnoreCase(appTheme)) + return true; + Toasty.warning(getContext(), getString(R.string.change_theme_warning), Toast.LENGTH_LONG).show(); + callback.onThemeChanged(); + return true; + } else if (preference.getKey().equalsIgnoreCase("appColor")) { + if(newValue.toString().equalsIgnoreCase(appColor)) + return true; + Toasty.warning(getContext(), getString(R.string.change_theme_warning), Toast.LENGTH_LONG).show(); + callback.onThemeChanged(); + return true; + } else if (preference.getKey().equalsIgnoreCase("app_language")) { + if(newValue.toString().equalsIgnoreCase(app_lauguage)) + return true; + callback.onThemeChanged(); + return true; + } + return false; + } + + + /* + + + + findPreference("app_language").setOnPreferenceChangeListener(this); + + + + */ +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryMvp.java b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryMvp.java new file mode 100644 index 00000000..8fe940f8 --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryMvp.java @@ -0,0 +1,18 @@ +package com.fastaccess.ui.modules.settings.category; + +import com.fastaccess.ui.base.mvp.BaseMvp; + +/** + * Created by JediB on 5/12/2017. + */ + +public interface SettingsCategoryMvp { + interface View extends BaseMvp.FAView { + @Override + void onThemeChanged(); + } + + interface Presenter extends BaseMvp.FAPresenter { + + } +} diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryPresenter.java new file mode 100644 index 00000000..acc251ca --- /dev/null +++ b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryPresenter.java @@ -0,0 +1,10 @@ +package com.fastaccess.ui.modules.settings.category; + +import com.fastaccess.ui.base.mvp.presenter.BasePresenter; + +/** + * Created by JediB on 5/12/2017. + */ + +class SettingsCategoryPresenter extends BasePresenter implements SettingsCategoryMvp.Presenter{ +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_blank.xml b/app/src/main/res/drawable/ic_blank.xml new file mode 100644 index 00000000..01862fa9 --- /dev/null +++ b/app/src/main/res/drawable/ic_blank.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_brush.xml b/app/src/main/res/drawable/ic_brush.xml new file mode 100644 index 00000000..d22a86bb --- /dev/null +++ b/app/src/main/res/drawable/ic_brush.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_check.xml b/app/src/main/res/drawable/ic_check.xml new file mode 100644 index 00000000..b5ee0517 --- /dev/null +++ b/app/src/main/res/drawable/ic_check.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_color_lens.xml b/app/src/main/res/drawable/ic_color_lens.xml new file mode 100644 index 00000000..aa09a6ca --- /dev/null +++ b/app/src/main/res/drawable/ic_color_lens.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_crop_square.xml b/app/src/main/res/drawable/ic_crop_square.xml new file mode 100644 index 00000000..17b0e931 --- /dev/null +++ b/app/src/main/res/drawable/ic_crop_square.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_info.xml b/app/src/main/res/drawable/ic_info.xml new file mode 100644 index 00000000..c525aa4b --- /dev/null +++ b/app/src/main/res/drawable/ic_info.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_slack.xml b/app/src/main/res/drawable/ic_slack.xml new file mode 100644 index 00000000..634fc004 --- /dev/null +++ b/app/src/main/res/drawable/ic_slack.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_support.xml b/app/src/main/res/drawable/ic_support.xml new file mode 100644 index 00000000..140a22a0 --- /dev/null +++ b/app/src/main/res/drawable/ic_support.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_track_changes.xml b/app/src/main/res/drawable/ic_track_changes.xml new file mode 100644 index 00000000..1de0abf4 --- /dev/null +++ b/app/src/main/res/drawable/ic_track_changes.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_update.xml b/app/src/main/res/drawable/ic_update.xml new file mode 100644 index 00000000..b37eda0f --- /dev/null +++ b/app/src/main/res/drawable/ic_update.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_wrap_text.xml b/app/src/main/res/drawable/ic_wrap_text.xml new file mode 100644 index 00000000..0225aeb9 --- /dev/null +++ b/app/src/main/res/drawable/ic_wrap_text.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml new file mode 100644 index 00000000..c31f1e66 --- /dev/null +++ b/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_settings_category.xml b/app/src/main/res/layout/activity_settings_category.xml new file mode 100644 index 00000000..8da74ff5 --- /dev/null +++ b/app/src/main/res/layout/activity_settings_category.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_picker.xml b/app/src/main/res/layout/dialog_picker.xml new file mode 100644 index 00000000..d5e44c25 --- /dev/null +++ b/app/src/main/res/layout/dialog_picker.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/icon_row_item.xml b/app/src/main/res/layout/icon_row_item.xml new file mode 100644 index 00000000..1be4f419 --- /dev/null +++ b/app/src/main/res/layout/icon_row_item.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 98827330..61a10a55 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -319,6 +319,7 @@ Unterstützen mit 10$ Unterstützen mit 20$ App Sprache + Sprache Spracheinstellung Wähle deine bevorzugte Sprache Deabbonieren diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 48103737..3fc9893a 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -329,6 +329,7 @@ Dukung dengan $10.00 Dukung dengan $20.00 Bahasa Aplikasi + Bahasa Pilih Bahasa Pilih bahasa pilihan Anda Berhenti berlangganan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index e1569be7..6fe52a65 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -325,6 +325,7 @@ Supporta con $10.00 Supporta con $20.00 Lingua app + Lingua Scegli la lingua Scegli la tua lingua preferita Disiscriviti diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d46865c2..88844f4f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -339,6 +339,7 @@ Пожертвовать $10.00 Пожертвовать $20.00 Язык приложения + Язык Выберите язык Выберите нужный язык \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 7bf2c293..d6c2e188 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -316,6 +316,7 @@ Seç Resim Seç Uygulama Dili + Uygulama Dili Dil seçiniz Tercih ettiğiniz dili seçin diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 17947169..22bd23c6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -238,6 +238,7 @@ Notification sync interval Every Behavior + Customization Enable list animations List animation Disable dialog preventing accidental app closure @@ -400,6 +401,7 @@ Support with $10.00 Support with $20.00 App Language + Language Choose Language Choose your preferred language Unsubscribe diff --git a/app/src/main/res/xml/about_settings.xml b/app/src/main/res/xml/about_settings.xml new file mode 100644 index 00000000..ffd0ff88 --- /dev/null +++ b/app/src/main/res/xml/about_settings.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/behaviour_settings.xml b/app/src/main/res/xml/behaviour_settings.xml new file mode 100644 index 00000000..3e1658b4 --- /dev/null +++ b/app/src/main/res/xml/behaviour_settings.xml @@ -0,0 +1,25 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/customization_settings.xml b/app/src/main/res/xml/customization_settings.xml new file mode 100644 index 00000000..68b5a7a8 --- /dev/null +++ b/app/src/main/res/xml/customization_settings.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/fasthub_settings.xml b/app/src/main/res/xml/fasthub_settings.xml index 520e73c2..f88d3b88 100644 --- a/app/src/main/res/xml/fasthub_settings.xml +++ b/app/src/main/res/xml/fasthub_settings.xml @@ -11,18 +11,21 @@ android:entries="@array/notification_duration" android:entryValues="@array/notification_duration" android:key="notificationTime" + android:icon="@drawable/ic_time" android:summary="@string/background_job_summary" android:title="@string/background_job_title"/> @@ -41,6 +44,7 @@ android:entries="@array/theme_modes" android:entryValues="@array/theme_modes" android:key="appTheme" + android:icon="@drawable/ic_brush" android:summary="@string/theme_summary" android:title="@string/theme_title"/> @@ -50,6 +54,7 @@ android:entries="@array/theme_colors" android:entryValues="@array/theme_colors" android:key="appColor" + android:icon="@drawable/ic_blank" android:summary="@string/theme_color_summary" android:title="@string/theme_color_title"/> diff --git a/app/src/main/res/xml/language_settings.xml b/app/src/main/res/xml/language_settings.xml new file mode 100644 index 00000000..37567c90 --- /dev/null +++ b/app/src/main/res/xml/language_settings.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/notification_settings.xml b/app/src/main/res/xml/notification_settings.xml new file mode 100644 index 00000000..22b7355e --- /dev/null +++ b/app/src/main/res/xml/notification_settings.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file