Starting preferences
This commit is contained in:
		
							parent
							
								
									af678a5b3c
								
							
						
					
					
						commit
						985d71a869
					
				| @ -37,6 +37,11 @@ | ||||
|                 android:name="android.support.PARENT_ACTIVITY" | ||||
|                 android:value="eu.kanade.mangafeed.ui.activity.MangaDetailActivity" /> | ||||
|         </activity> | ||||
|         <activity | ||||
|             android:name=".ui.activity.SettingsActivity" | ||||
|             android:label="@string/title_activity_settings" | ||||
|             android:parentActivityName=".ui.activity.MainActivity" > | ||||
|         </activity> | ||||
|     </application> | ||||
| 
 | ||||
| </manifest> | ||||
|  | ||||
| @ -2,28 +2,28 @@ package eu.kanade.mangafeed.data.helpers; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import android.content.SharedPreferences; | ||||
| import android.preference.PreferenceManager; | ||||
| 
 | ||||
| import eu.kanade.mangafeed.R; | ||||
| 
 | ||||
| public class PreferencesHelper { | ||||
| 
 | ||||
|     private static SharedPreferences mPref; | ||||
| 
 | ||||
|     public static final String PREF_FILE_NAME = "android_boilerplate_pref_file"; | ||||
| 
 | ||||
|     private static final String PREF_HIDE_STATUS_BAR = "hide_status_bar"; | ||||
| 
 | ||||
|     public PreferencesHelper(Context context) { | ||||
|         mPref = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); | ||||
|         PreferenceManager.setDefaultValues(context, R.xml.preferences, false); | ||||
| 
 | ||||
|         mPref = PreferenceManager.getDefaultSharedPreferences(context); | ||||
|     } | ||||
| 
 | ||||
|     public void clear() { | ||||
|         mPref.edit().clear().apply(); | ||||
|     } | ||||
| 
 | ||||
|     public boolean isFirstRun() { | ||||
|         return mPref.getBoolean("firstrun", true); | ||||
|     } | ||||
| 
 | ||||
|     public void setNotFirstRun() { | ||||
|         mPref.edit().putBoolean("firstrun", false).commit(); | ||||
|     public boolean hideStatusBarSet() { | ||||
|         return mPref.getBoolean(PREF_HIDE_STATUS_BAR, false); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -4,7 +4,10 @@ import android.os.Bundle; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| import javax.inject.Inject; | ||||
| 
 | ||||
| import de.greenrobot.event.EventBus; | ||||
| import eu.kanade.mangafeed.data.helpers.PreferencesHelper; | ||||
| import eu.kanade.mangafeed.data.models.Chapter; | ||||
| import eu.kanade.mangafeed.data.models.Page; | ||||
| import eu.kanade.mangafeed.sources.Source; | ||||
| @ -18,6 +21,8 @@ import rx.schedulers.Schedulers; | ||||
| 
 | ||||
| public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
| 
 | ||||
|     @Inject PreferencesHelper prefs; | ||||
| 
 | ||||
|     private Source source; | ||||
|     private Chapter chapter; | ||||
|     private List<Page> pageList; | ||||
| @ -52,6 +57,10 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|     protected void onTakeView(ReaderActivity view) { | ||||
|         super.onTakeView(view); | ||||
|         registerForStickyEvents(); | ||||
| 
 | ||||
|         if (prefs.hideStatusBarSet()) { | ||||
|             view.hideStatusBar(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| package eu.kanade.mangafeed.ui.activity; | ||||
| 
 | ||||
| import android.content.Intent; | ||||
| import android.os.Bundle; | ||||
| import android.support.v4.app.Fragment; | ||||
| import android.support.v4.app.FragmentTransaction; | ||||
| @ -16,7 +17,6 @@ import eu.kanade.mangafeed.R; | ||||
| import eu.kanade.mangafeed.ui.activity.base.BaseActivity; | ||||
| import eu.kanade.mangafeed.ui.fragment.LibraryFragment; | ||||
| import eu.kanade.mangafeed.ui.fragment.SourceFragment; | ||||
| import nucleus.factory.RequiresPresenter; | ||||
| 
 | ||||
| public class MainActivity extends BaseActivity { | ||||
| 
 | ||||
| @ -54,6 +54,7 @@ public class MainActivity extends BaseActivity { | ||||
|                         new PrimaryDrawerItem() | ||||
|                                 .withName(R.string.settings_title) | ||||
|                                 .withIdentifier(R.id.nav_drawer_settings) | ||||
|                                 .withSelectable(false) | ||||
|                 ) | ||||
|                 .withSavedInstance(savedInstanceState) | ||||
|                 .withOnDrawerItemClickListener( | ||||
| @ -70,6 +71,7 @@ public class MainActivity extends BaseActivity { | ||||
|                                         setFragment(SourceFragment.newInstance()); | ||||
|                                         break; | ||||
|                                     case R.id.nav_drawer_settings: | ||||
|                                         startActivity(new Intent(this, SettingsActivity.class)); | ||||
|                                         break; | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
| @ -2,8 +2,11 @@ package eu.kanade.mangafeed.ui.activity; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.os.Build; | ||||
| import android.os.Bundle; | ||||
| import android.support.v4.view.ViewPager; | ||||
| import android.view.View; | ||||
| import android.view.WindowManager; | ||||
| import android.widget.TextView; | ||||
| 
 | ||||
| import java.util.List; | ||||
| @ -89,4 +92,16 @@ public class ReaderActivity extends BaseRxActivity<ReaderPresenter> { | ||||
|         String page = (currentPage+1) + "/" + adapter.getCount(); | ||||
|         pageNumber.setText(page); | ||||
|     } | ||||
| 
 | ||||
|     public void hideStatusBar() { | ||||
|         if (Build.VERSION.SDK_INT < 16) { | ||||
|             getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, | ||||
|                     WindowManager.LayoutParams.FLAG_FULLSCREEN); | ||||
|         } else { | ||||
|             View decorView = getWindow().getDecorView(); | ||||
|             int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; | ||||
|             decorView.setSystemUiVisibility(uiOptions); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,36 @@ | ||||
| package eu.kanade.mangafeed.ui.activity; | ||||
| 
 | ||||
| import android.os.Bundle; | ||||
| import android.preference.PreferenceFragment; | ||||
| import android.support.v7.widget.Toolbar; | ||||
| 
 | ||||
| import butterknife.Bind; | ||||
| import butterknife.ButterKnife; | ||||
| import eu.kanade.mangafeed.R; | ||||
| import eu.kanade.mangafeed.ui.activity.base.BaseActivity; | ||||
| 
 | ||||
| public class SettingsActivity extends BaseActivity { | ||||
| 
 | ||||
|     @Bind(R.id.toolbar) Toolbar toolbar; | ||||
| 
 | ||||
|     @Override | ||||
|     protected void onCreate(Bundle savedInstanceState) { | ||||
|         super.onCreate(savedInstanceState); | ||||
|         setContentView(R.layout.activity_preferences); | ||||
|         ButterKnife.bind(this); | ||||
| 
 | ||||
|         setupToolbar(toolbar); | ||||
| 
 | ||||
|         getFragmentManager().beginTransaction().replace(R.id.settings_content, | ||||
|                 new MyPreferenceFragment()).commit(); | ||||
|     } | ||||
| 
 | ||||
|     public static class MyPreferenceFragment extends PreferenceFragment { | ||||
|         @Override | ||||
|         public void onCreate(final Bundle savedInstanceState) { | ||||
|             super.onCreate(savedInstanceState); | ||||
|             addPreferencesFromResource(R.xml.preferences); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,15 +1,9 @@ | ||||
| package eu.kanade.mangafeed.ui.activity.base; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import android.os.Bundle; | ||||
| import android.support.v7.app.AppCompatActivity; | ||||
| import android.support.v7.widget.Toolbar; | ||||
| 
 | ||||
| import eu.kanade.mangafeed.App; | ||||
| import nucleus.factory.PresenterFactory; | ||||
| import nucleus.presenter.Presenter; | ||||
| import nucleus.view.NucleusAppCompatActivity; | ||||
| 
 | ||||
| public class BaseActivity extends AppCompatActivity { | ||||
| 
 | ||||
|     protected void setupToolbar(Toolbar toolbar) { | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| package eu.kanade.mangafeed.ui.fragment.base; | ||||
| 
 | ||||
| import android.os.Bundle; | ||||
| import android.support.v4.app.Fragment; | ||||
| 
 | ||||
| import eu.kanade.mangafeed.App; | ||||
| import nucleus.factory.PresenterFactory; | ||||
|  | ||||
							
								
								
									
										17
									
								
								app/src/main/res/layout/activity_preferences.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/src/main/res/layout/activity_preferences.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:orientation="vertical" android:layout_width="match_parent" | ||||
|     android:layout_height="match_parent"> | ||||
| 
 | ||||
|     <include | ||||
|         android:id="@+id/toolbar" | ||||
|         layout="@layout/toolbar"/> | ||||
| 
 | ||||
|     <FrameLayout | ||||
|         android:id="@+id/settings_content" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="match_parent"> | ||||
| 
 | ||||
|     </FrameLayout> | ||||
| 
 | ||||
| </LinearLayout> | ||||
| @ -46,5 +46,8 @@ | ||||
|     <string name="manga_detail_tab">Info</string> | ||||
|     <string name="manga_chapters_tab">Chapters</string> | ||||
|     <string name="title_activity_viewer">ViewerActivity</string> | ||||
|     <string name="title_activity_settings">Settings</string> | ||||
|     <string name="pref_hide_status_bar">Hide status bar</string> | ||||
|     <string name="pref_hide_status_bar_summary">This option will hide the status bar while reading</string> | ||||
| 
 | ||||
| </resources> | ||||
|  | ||||
							
								
								
									
										9
									
								
								app/src/main/res/xml/preferences.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/src/main/res/xml/preferences.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
| 
 | ||||
|     <CheckBoxPreference android:title="@string/pref_hide_status_bar" | ||||
|         android:defaultValue="false" | ||||
|         android:summary="@string/pref_hide_status_bar_summary" | ||||
|         android:key="hide_status_bar" /> | ||||
| 
 | ||||
| </PreferenceScreen> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 inorichi
						inorichi