mirror of
https://github.com/gsantner/dandelion
synced 2024-11-25 22:02:08 +01:00
Merge AppSettings & PrefManager
This commit is contained in:
parent
809c4a8de7
commit
7f780ac3ce
3 changed files with 48 additions and 70 deletions
|
@ -2,6 +2,7 @@ package de.baumann.diaspora;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by de-live-gdev on 20.03.16. Part of Diaspora WebApp.
|
* Created by de-live-gdev on 20.03.16. Part of Diaspora WebApp.
|
||||||
|
@ -17,15 +18,47 @@ class AppSettings {
|
||||||
private void setString(String key, String value) {
|
private void setString(String key, String value) {
|
||||||
pref.edit().putString(key, value).apply();
|
pref.edit().putString(key, value).apply();
|
||||||
}
|
}
|
||||||
|
private void setInt(String key, int value) {
|
||||||
|
pref.edit().putInt(key, value).apply();
|
||||||
|
}
|
||||||
|
private void setBool(String key, boolean value) {
|
||||||
|
pref.edit().putBoolean(key, value).apply();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Preferences
|
||||||
|
*/
|
||||||
|
private static final String PREF_PROFILE_ID = "profileID";
|
||||||
|
private static final String PREF_IS_LOAD_IMAGES = "loadImages";
|
||||||
|
private static final String PREF_MINIMUM_FONT_SIZE = "minimumFontSize";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Setters & Getters
|
// Setters & Getters
|
||||||
*/
|
*/
|
||||||
private static final String PREF_PROFILE_ID = "profileID";
|
|
||||||
public String getProfileId() {
|
public String getProfileId() {
|
||||||
return pref.getString(PREF_PROFILE_ID, "");
|
return pref.getString(PREF_PROFILE_ID, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProfileId(String profileId) {
|
public void setProfileId(String profileId) {
|
||||||
setString(PREF_PROFILE_ID, profileId);
|
setString(PREF_PROFILE_ID, profileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isLoadImages() {
|
||||||
|
return pref.getBoolean(PREF_IS_LOAD_IMAGES, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLoadImages(boolean loadImages) {
|
||||||
|
setBool(PREF_IS_LOAD_IMAGES, loadImages);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getMinimumFontSize() {
|
||||||
|
return pref.getInt(PREF_MINIMUM_FONT_SIZE, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMinimumFontSize(int minimumFontSize) {
|
||||||
|
setInt(PREF_MINIMUM_FONT_SIZE, minimumFontSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,6 @@ import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import de.baumann.diaspora.utils.Helpers;
|
import de.baumann.diaspora.utils.Helpers;
|
||||||
import de.baumann.diaspora.utils.PrefManager;
|
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity
|
public class MainActivity extends AppCompatActivity
|
||||||
implements NavigationView.OnNavigationItemSelectedListener {
|
implements NavigationView.OnNavigationItemSelectedListener {
|
||||||
|
@ -85,7 +84,6 @@ public class MainActivity extends AppCompatActivity
|
||||||
private static final int REQUEST_CODE_ASK_PERMISSIONS = 123;
|
private static final int REQUEST_CODE_ASK_PERMISSIONS = 123;
|
||||||
private static final String URL_MESSAGE = "URL_MESSAGE";
|
private static final String URL_MESSAGE = "URL_MESSAGE";
|
||||||
|
|
||||||
private AppSettings appSettings;
|
|
||||||
private final Handler myHandler = new Handler();
|
private final Handler myHandler = new Handler();
|
||||||
private WebView webView;
|
private WebView webView;
|
||||||
private String podDomain;
|
private String podDomain;
|
||||||
|
@ -98,7 +96,7 @@ public class MainActivity extends AppCompatActivity
|
||||||
private com.getbase.floatingactionbutton.FloatingActionsMenu fab;
|
private com.getbase.floatingactionbutton.FloatingActionsMenu fab;
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
private WebSettings wSettings;
|
private WebSettings wSettings;
|
||||||
private PrefManager pm;
|
private AppSettings appSettings;
|
||||||
private SwipeRefreshLayout swipeView;
|
private SwipeRefreshLayout swipeView;
|
||||||
|
|
||||||
@SuppressLint("SetJavaScriptEnabled")
|
@SuppressLint("SetJavaScriptEnabled")
|
||||||
|
@ -140,7 +138,6 @@ public class MainActivity extends AppCompatActivity
|
||||||
navigationView.setNavigationItemSelectedListener(this);
|
navigationView.setNavigationItemSelectedListener(this);
|
||||||
|
|
||||||
progressBar = (ProgressBar) findViewById(R.id.progressBar);
|
progressBar = (ProgressBar) findViewById(R.id.progressBar);
|
||||||
pm = new PrefManager(MainActivity.this);
|
|
||||||
|
|
||||||
SharedPreferences config = getSharedPreferences("PodSettings", MODE_PRIVATE);
|
SharedPreferences config = getSharedPreferences("PodSettings", MODE_PRIVATE);
|
||||||
podDomain = config.getString("podDomain", null);
|
podDomain = config.getString("podDomain", null);
|
||||||
|
@ -164,8 +161,8 @@ public class MainActivity extends AppCompatActivity
|
||||||
wSettings.setUseWideViewPort(true);
|
wSettings.setUseWideViewPort(true);
|
||||||
wSettings.setLoadWithOverviewMode(true);
|
wSettings.setLoadWithOverviewMode(true);
|
||||||
wSettings.setDomStorageEnabled(true);
|
wSettings.setDomStorageEnabled(true);
|
||||||
wSettings.setMinimumFontSize(pm.getMinimumFontSize());
|
wSettings.setMinimumFontSize(appSettings.getMinimumFontSize());
|
||||||
wSettings.setLoadsImagesAutomatically(pm.getLoadImages());
|
wSettings.setLoadsImagesAutomatically(appSettings.isLoadImages());
|
||||||
|
|
||||||
if (android.os.Build.VERSION.SDK_INT >= 21)
|
if (android.os.Build.VERSION.SDK_INT >= 21)
|
||||||
wSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
wSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||||
|
@ -667,14 +664,14 @@ public class MainActivity extends AppCompatActivity
|
||||||
.findViewById(selectedId);
|
.findViewById(selectedId);
|
||||||
|
|
||||||
if (selectedRadioButton.getId() == R.id.radNormal) {
|
if (selectedRadioButton.getId() == R.id.radNormal) {
|
||||||
pm.setMinimumFontSize(8);
|
appSettings.setMinimumFontSize(8);
|
||||||
} else if (selectedRadioButton.getId() == R.id.radLarge) {
|
} else if (selectedRadioButton.getId() == R.id.radLarge) {
|
||||||
pm.setMinimumFontSize(16);
|
appSettings.setMinimumFontSize(16);
|
||||||
} else if (selectedRadioButton.getId() == R.id.radLarger) {
|
} else if (selectedRadioButton.getId() == R.id.radLarger) {
|
||||||
pm.setMinimumFontSize(20);
|
appSettings.setMinimumFontSize(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
wSettings.setMinimumFontSize(pm.getMinimumFontSize());
|
wSettings.setMinimumFontSize(appSettings.getMinimumFontSize());
|
||||||
|
|
||||||
if (Helpers.isOnline(MainActivity.this)) {
|
if (Helpers.isOnline(MainActivity.this)) {
|
||||||
webView.loadUrl(webView.getUrl());
|
webView.loadUrl(webView.getUrl());
|
||||||
|
@ -878,8 +875,8 @@ public class MainActivity extends AppCompatActivity
|
||||||
if (options[item].equals(getString(R.string.settings_view)))
|
if (options[item].equals(getString(R.string.settings_view)))
|
||||||
webView.loadUrl("https://" + podDomain + "/mobile/toggle");
|
webView.loadUrl("https://" + podDomain + "/mobile/toggle");
|
||||||
if (options[item].equals(getString(R.string.settings_image)))
|
if (options[item].equals(getString(R.string.settings_image)))
|
||||||
wSettings.setLoadsImagesAutomatically(!pm.getLoadImages());
|
wSettings.setLoadsImagesAutomatically(!appSettings.isLoadImages());
|
||||||
pm.setLoadImages(!pm.getLoadImages());
|
appSettings.setLoadImages(!appSettings.isLoadImages());
|
||||||
webView.loadUrl(webView.getUrl());
|
webView.loadUrl(webView.getUrl());
|
||||||
}
|
}
|
||||||
}).show();
|
}).show();
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
package de.baumann.diaspora.utils;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.content.SharedPreferences.Editor;
|
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
|
|
||||||
public class PrefManager {
|
|
||||||
|
|
||||||
private final Context context;
|
|
||||||
private boolean loadImages = true;
|
|
||||||
private int minimumFontSize = 0;
|
|
||||||
|
|
||||||
public PrefManager(Context ctx) {
|
|
||||||
SharedPreferences sp = null;
|
|
||||||
this.context = ctx;
|
|
||||||
try {
|
|
||||||
sp = PreferenceManager.getDefaultSharedPreferences(context);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sp != null) {
|
|
||||||
loadImages = sp.getBoolean("loadImages", true);
|
|
||||||
minimumFontSize = sp.getInt("minimumFontSize", 8);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getLoadImages() {
|
|
||||||
return loadImages;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLoadImages(boolean loadImages) {
|
|
||||||
this.loadImages = loadImages;
|
|
||||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
|
||||||
Editor edit = sp.edit();
|
|
||||||
edit.putBoolean("loadImages", loadImages);
|
|
||||||
edit.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getMinimumFontSize() {
|
|
||||||
return minimumFontSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinimumFontSize(int minimumFontSize) {
|
|
||||||
this.minimumFontSize = minimumFontSize;
|
|
||||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
|
||||||
Editor edit = sp.edit();
|
|
||||||
edit.putInt("minimumFontSize", minimumFontSize);
|
|
||||||
edit.apply();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue