summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java')
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java166
1 files changed, 154 insertions, 12 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
index 417cd744d..460d27e55 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
@@ -45,6 +45,7 @@ import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.Spinner;
import android.widget.TextView;
@@ -100,11 +101,129 @@ public class SettingsFragment extends Fragment {
editor.apply();
}
});
+
+ boolean display_content_after_fetch_more = sharedpreferences.getBoolean(Helper.SET_DISPLAY_CONTENT_AFTER_FM, true);
+ final CheckBox set_display_content_after_fetch_more = rootView.findViewById(R.id.set_display_content_after_fetch_more);
+ set_display_content_after_fetch_more.setChecked(display_content_after_fetch_more);
+ set_display_content_after_fetch_more.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_DISPLAY_CONTENT_AFTER_FM, set_display_content_after_fetch_more.isChecked());
+ editor.apply();
+ }
+ });
+
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
+
+ final Spinner battery_layout_spinner = rootView.findViewById(R.id.battery_layout_spinner);
+ ArrayAdapter<CharSequence> adapterBattery = ArrayAdapter.createFromResource(getContext(),
+ R.array.battery_profiles, android.R.layout.simple_spinner_item);
+ battery_layout_spinner.setAdapter(adapterBattery);
+ int positionSpinner = sharedpreferences.getInt(Helper.SET_BATTERY_PROFILE, Helper.BATTERY_PROFILE_NORMAL) -1;
+ battery_layout_spinner.setSelection(positionSpinner);
+ battery_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if( count2 > 0){
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ switch (position){
+ case 0:
+ editor.putInt(Helper.SET_BATTERY_PROFILE, Helper.BATTERY_PROFILE_NORMAL);
+ editor.apply();
+ break;
+ case 1:
+ editor.putInt(Helper.SET_BATTERY_PROFILE, Helper.BATTERY_PROFILE_MEDIUM);
+ editor.apply();
+ break;
+ case 2:
+ editor.putInt(Helper.SET_BATTERY_PROFILE, Helper.BATTERY_PROFILE_LOW);
+ editor.apply();
+ break;
+ }
+ Helper.changeBatteryProfile(context);
+ if( position < 2 ){
+ try {
+ ((MainActivity) context).startSreaming();
+ }catch (Exception ignored){ignored.printStackTrace();}
+ }else{
+ context.sendBroadcast(new Intent("StopLiveNotificationService"));
+ }
+ }else {
+ count2++;
+ }
+ }
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+
+ }
+ });
+
+ //Manage download of attachments
+ RadioGroup radioGroup = rootView.findViewById(R.id.set_attachment_group);
+ int attachmentAction = sharedpreferences.getInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS);
+ switch (attachmentAction){
+ case Helper.ATTACHMENT_ALWAYS:
+ radioGroup.check(R.id.set_attachment_always);
+ break;
+ case Helper.ATTACHMENT_WIFI:
+ radioGroup.check(R.id.set_attachment_wifi);
+ break;
+ case Helper.ATTACHMENT_ASK:
+ radioGroup.check(R.id.set_attachment_ask);
+ break;
+ }
+ radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(RadioGroup group, int checkedId) {
+ switch(checkedId) {
+ case R.id.set_attachment_always:
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS);
+ editor.apply();
+ break;
+ case R.id.set_attachment_wifi:
+ editor = sharedpreferences.edit();
+ editor.putInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_WIFI);
+ editor.apply();
+ break;
+ case R.id.set_attachment_ask:
+ editor = sharedpreferences.edit();
+ editor.putInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ASK);
+ editor.apply();
+ break;
+ }
+ }
+ });
+
+
+ boolean optimize_loading = sharedpreferences.getBoolean(Helper.SET_OPTIMIZE_LOADING, false);
+ final CheckBox set_optimize_loading = rootView.findViewById(R.id.set_optimize_loading);
+ set_optimize_loading.setChecked(optimize_loading);
+
+ set_optimize_loading.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_OPTIMIZE_LOADING, set_optimize_loading.isChecked());
+ if( set_optimize_loading.isChecked()){
+ editor.putInt(Helper.SET_ACCOUNTS_PER_PAGE, 10);
+ editor.putInt(Helper.SET_TOOTS_PER_PAGE, 10);
+ editor.putInt(Helper.SET_NOTIFICATIONS_PER_PAGE, 10);
+ }else {
+ editor.putInt(Helper.SET_ACCOUNTS_PER_PAGE, 40);
+ editor.putInt(Helper.SET_TOOTS_PER_PAGE, 40);
+ editor.putInt(Helper.SET_NOTIFICATIONS_PER_PAGE, 15);
+ }
+ editor.apply();
+ }
+ });
+
+
boolean display_card = sharedpreferences.getBoolean(Helper.SET_DISPLAY_CARD, false);
final CheckBox set_display_card = rootView.findViewById(R.id.set_display_card);
@@ -323,19 +442,41 @@ public class SettingsFragment extends Fragment {
});
boolean compact_mode = sharedpreferences.getBoolean(Helper.SET_COMPACT_MODE, false);
- final CheckBox set_compact_mode = rootView.findViewById(R.id.set_compact_mode);
- set_compact_mode.setChecked(compact_mode);
-
- set_compact_mode.setOnClickListener(new View.OnClickListener() {
+ boolean console_mode = sharedpreferences.getBoolean(Helper.SET_CONSOLE_MODE, false);
+ RadioGroup set_mode = rootView.findViewById(R.id.set_mode);
+ if( compact_mode){
+ set_mode.check(R.id.set_compact_mode);
+ }else if(console_mode){
+ set_mode.check(R.id.set_console_mode);
+ }else {
+ set_mode.check(R.id.set_normal_mode);
+ }
+ set_mode.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
- public void onClick(View v) {
- SharedPreferences.Editor editor = sharedpreferences.edit();
- editor.putBoolean(Helper.SET_COMPACT_MODE, set_compact_mode.isChecked());
- editor.apply();
+ public void onCheckedChanged(RadioGroup group, int checkedId) {
+ switch(checkedId) {
+ case R.id.set_compact_mode:
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_COMPACT_MODE, true);
+ editor.putBoolean(Helper.SET_CONSOLE_MODE, false);
+ editor.apply();
+ break;
+ case R.id.set_console_mode:
+ editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_COMPACT_MODE, false);
+ editor.putBoolean(Helper.SET_CONSOLE_MODE, true);
+ editor.apply();
+ break;
+ case R.id.set_normal_mode:
+ editor = sharedpreferences.edit();
+ editor.putBoolean(Helper.SET_COMPACT_MODE, false);
+ editor.putBoolean(Helper.SET_CONSOLE_MODE, false);
+ editor.apply();
+ break;
+ }
}
});
-
boolean share_details = sharedpreferences.getBoolean(Helper.SET_SHARE_DETAILS, true);
final CheckBox set_share_details = rootView.findViewById(R.id.set_share_details);
set_share_details.setChecked(share_details);
@@ -665,9 +806,10 @@ public class SettingsFragment extends Fragment {
LinearLayout toot_visibility_container = rootView.findViewById(R.id.toot_visibility_container);
- String prefKeyOauthTokenT = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null);
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
- final Account account = new AccountDAO(context, db).getAccountByToken(prefKeyOauthTokenT);
+ String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
+ String instance = sharedpreferences.getString(Helper.PREF_INSTANCE, Helper.getLiveInstance(context));
+ final Account account = new AccountDAO(context, db).getUniqAccount(userId, instance);
final ImageView set_toot_visibility = rootView.findViewById(R.id.set_toot_visibility);
if( theme == Helper.THEME_DARK){
changeDrawableColor(context, set_toot_visibility, R.color.dark_text);
@@ -859,7 +1001,7 @@ public class SettingsFragment extends Fragment {
ArrayAdapter<CharSequence> adapterResize = ArrayAdapter.createFromResource(getContext(),
R.array.settings_resize_picture, android.R.layout.simple_spinner_item);
resize_layout_spinner.setAdapter(adapterResize);
- int positionSpinnerResize = sharedpreferences.getInt(Helper.SET_PICTURE_RESIZE, Helper.S_2MO);
+ int positionSpinnerResize = sharedpreferences.getInt(Helper.SET_PICTURE_RESIZE, Helper.S_NO);
resize_layout_spinner.setSelection(positionSpinnerResize);
resize_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override