mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-30 22:34:02 +01:00 
			
		
		
		
	Create SettingsFragment
This commit is contained in:
		
							parent
							
								
									6d080889ff
								
							
						
					
					
						commit
						0fe7a05731
					
				
					 12 changed files with 134 additions and 16 deletions
				
			
		|  | @ -15,6 +15,7 @@ import java.net.HttpURLConnection; | |||
| import java.net.MalformedURLException; | ||||
| import java.net.URL; | ||||
| 
 | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| import in.yuvi.http.fluent.Http; | ||||
| 
 | ||||
| public class EventLog { | ||||
|  |  | |||
|  | @ -38,6 +38,8 @@ import javax.xml.transform.TransformerFactoryConfigurationError; | |||
| import javax.xml.transform.dom.DOMSource; | ||||
| import javax.xml.transform.stream.StreamResult; | ||||
| 
 | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| 
 | ||||
| public class Utils { | ||||
| 
 | ||||
|     private static final String TAG = Utils.class.getName(); | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ import fr.free.nrw.commons.BuildConfig; | |||
| import fr.free.nrw.commons.CommonsApplication; | ||||
| import fr.free.nrw.commons.EventLog; | ||||
| import fr.free.nrw.commons.Media; | ||||
| import fr.free.nrw.commons.Prefs; | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| import fr.free.nrw.commons.Utils; | ||||
| 
 | ||||
| public class Contribution extends Media { | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ import fr.free.nrw.commons.AboutActivity; | |||
| import fr.free.nrw.commons.BuildConfig; | ||||
| import fr.free.nrw.commons.CommonsApplication; | ||||
| import fr.free.nrw.commons.R; | ||||
| import fr.free.nrw.commons.SettingsActivity; | ||||
| import fr.free.nrw.commons.settings.SettingsActivity; | ||||
| import fr.free.nrw.commons.nearby.NearbyActivity; | ||||
| 
 | ||||
| import static android.app.Activity.RESULT_OK; | ||||
|  |  | |||
							
								
								
									
										16
									
								
								app/src/main/java/fr/free/nrw/commons/settings/Prefs.java
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								app/src/main/java/fr/free/nrw/commons/settings/Prefs.java
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| package fr.free.nrw.commons.settings; | ||||
| 
 | ||||
| public class Prefs { | ||||
|     public static String GLOBAL_PREFS = "fr.free.nrw.commons.preferences"; | ||||
| 
 | ||||
|     public static String TRACKING_ENABLED = "eventLogging"; | ||||
|     public static final String DEFAULT_LICENSE = "defaultLicense"; | ||||
| 
 | ||||
|     public static class Licenses { | ||||
|         public static final String CC_BY_SA_3 = "CC BY-SA"; | ||||
|         public static final String CC_BY_3 = "CC BY"; | ||||
|         public static final String CC_BY_SA_4 = "CC BY-SA 4.0"; | ||||
|         public static final String CC_BY_4 = "CC BY 4.0"; | ||||
|         public static final String CC0 = "CC0"; | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,38 @@ | |||
| package fr.free.nrw.commons.settings; | ||||
| 
 | ||||
| import android.os.Bundle; | ||||
| import android.preference.PreferenceActivity; | ||||
| import android.preference.PreferenceManager; | ||||
| import android.support.v7.app.AppCompatDelegate; | ||||
| 
 | ||||
| import fr.free.nrw.commons.R; | ||||
| 
 | ||||
| public class SettingsActivity extends PreferenceActivity { | ||||
|     private AppCompatDelegate settingsDelegate; | ||||
| 
 | ||||
|     @Override | ||||
|     protected void onCreate(Bundle savedInstanceState) { | ||||
|         // Check prefs on every activity starts | ||||
|         if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme",true)) { | ||||
|             setTheme(R.style.DarkAppTheme); | ||||
|         } else { | ||||
|             setTheme(R.style.LightAppTheme); | ||||
|         } | ||||
| 
 | ||||
|         // Display the fragment as the main content. | ||||
|         getFragmentManager().beginTransaction() | ||||
|                 .replace(android.R.id.content, new SettingsFragment()).commit(); | ||||
| 
 | ||||
|         super.onCreate(savedInstanceState); | ||||
|     } | ||||
| 
 | ||||
|     // Get an action bar | ||||
|     @Override | ||||
|     protected void onPostCreate(Bundle savedInstanceState) { | ||||
|         super.onPostCreate(savedInstanceState); | ||||
|         if (settingsDelegate == null) { | ||||
|             settingsDelegate = AppCompatDelegate.create(this, null); | ||||
|         } | ||||
|         settingsDelegate.onPostCreate(savedInstanceState); | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,40 @@ | |||
| package fr.free.nrw.commons.settings; | ||||
| 
 | ||||
| import android.os.Bundle; | ||||
| import android.preference.CheckBoxPreference; | ||||
| import android.preference.ListPreference; | ||||
| import android.preference.Preference; | ||||
| import android.preference.PreferenceFragment; | ||||
| 
 | ||||
| import fr.free.nrw.commons.R; | ||||
| import fr.free.nrw.commons.Utils; | ||||
| 
 | ||||
| public class SettingsFragment extends PreferenceFragment { | ||||
|     @Override | ||||
|     public void onCreate(Bundle savedInstanceState) { | ||||
|         super.onCreate(savedInstanceState); | ||||
| 
 | ||||
|         // Load the preferences from an XML resource | ||||
|         addPreferencesFromResource(R.xml.preferences); | ||||
| 
 | ||||
|         // Update spinner to show selected value as summary | ||||
|         ListPreference licensePreference = (ListPreference) findPreference(Prefs.DEFAULT_LICENSE); | ||||
|         licensePreference.setSummary(Utils.licenseNameFor(licensePreference.getValue())); | ||||
|         licensePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { | ||||
|             @Override | ||||
|             public boolean onPreferenceChange(Preference preference, Object newValue) { | ||||
|                 preference.setSummary(Utils.licenseNameFor((String) newValue)); | ||||
|                 return true; | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         CheckBoxPreference themePreference = (CheckBoxPreference) findPreference("theme"); | ||||
|         themePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { | ||||
|             @Override | ||||
|             public boolean onPreferenceChange(Preference preference, Object newValue) { | ||||
|                 getActivity().recreate(); | ||||
|                 return true; | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
|  | @ -34,7 +34,7 @@ import butterknife.ButterKnife; | |||
| import butterknife.OnClick; | ||||
| import butterknife.OnItemSelected; | ||||
| import butterknife.OnTouch; | ||||
| import fr.free.nrw.commons.Prefs; | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| import fr.free.nrw.commons.R; | ||||
| import fr.free.nrw.commons.Utils; | ||||
| 
 | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ import java.util.Date; | |||
| 
 | ||||
| import fr.free.nrw.commons.CommonsApplication; | ||||
| import fr.free.nrw.commons.HandlerService; | ||||
| import fr.free.nrw.commons.Prefs; | ||||
| import fr.free.nrw.commons.settings.Prefs; | ||||
| import fr.free.nrw.commons.Utils; | ||||
| import fr.free.nrw.commons.contributions.Contribution; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Adam Jones
						Adam Jones