diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-09-03 06:37:20 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-09-03 06:37:20 +0000 |
commit | 79726b9a08d8b55f6965e2336857e1587bf1795c (patch) | |
tree | 14a9eaa5b83aec1af97012d754a8d7d29e2d8693 | |
parent | 870b21717403fc5a9304183816d0c9cef9f73d4d (diff) | |
download | infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar.gz infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar.bz2 infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar.lz infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar.xz infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.tar.zst infinity-for-reddit-79726b9a08d8b55f6965e2336857e1587bf1795c.zip |
Display a splash screen when the app starts.
15 files changed, 48 insertions, 12 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c3de6dc2..ef9a7dc8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -144,7 +144,7 @@ <activity android:name=".MainActivity" android:label="@string/app_name" - android:theme="@style/AppTheme.NoActionBarWithTransparentStatusBar"> + android:theme="@style/AppTheme.Launcher"> <intent-filter> <action android:name="android.intent.action.MAIN" /> diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java index abe26221..dc1bbb99 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java @@ -157,6 +157,8 @@ public class MainActivity extends AppCompatActivity implements SortTypeBottomShe @Override protected void onCreate(Bundle savedInstanceState) { + setTheme(R.style.AppTheme_NoActionBarWithTransparentStatusBar); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostDataSourceFactory.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostDataSourceFactory.java index cd3ae2d3..3942bec3 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostDataSourceFactory.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostDataSourceFactory.java @@ -78,7 +78,7 @@ class PostDataSourceFactory extends DataSource.Factory { @NonNull @Override - public DataSource create() { + public DataSource<String, Post> create() { if(postType == PostDataSource.TYPE_FRONT_PAGE) { postDataSource = new PostDataSource(retrofit, accessToken, locale, postType, sortType, filter, nsfw); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java index 2aa27594..e6e6fb12 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java @@ -450,10 +450,10 @@ public class PostFragment extends Fragment implements FragmentCommunicator { stopLazyMode(); } + mAdapter.setNetworkState(null); mFetchPostInfoLinearLayout.setVisibility(View.GONE); hasPost = false; mPostViewModel.refresh(); - mAdapter.setNetworkState(null); } private void showErrorView(int stringResId) { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java index 62e58547..412a0d0e 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java @@ -23,7 +23,7 @@ public class PostViewModel extends ViewModel { private LiveData<PagedList<Post>> posts; private MutableLiveData<Boolean> nsfwLiveData; private MutableLiveData<String> sortTypeLiveData; - private PostViewModel.NSFWAndSortTypeLiveData NSFWAndSortTypeLiveData; + private NSFWAndSortTypeLiveData nsfwAndSortTypeLiveData; public PostViewModel(Retrofit retrofit, String accessToken, Locale locale, int postType, String sortType, int filter, boolean nsfw) { @@ -42,7 +42,7 @@ public class PostViewModel extends ViewModel { sortTypeLiveData = new MutableLiveData<>(); sortTypeLiveData.postValue(sortType); - NSFWAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); + nsfwAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); PagedList.Config pagedListConfig = (new PagedList.Config.Builder()) @@ -50,7 +50,7 @@ public class PostViewModel extends ViewModel { .setPageSize(25) .build(); - posts = Transformations.switchMap(NSFWAndSortTypeLiveData, nsfwAndSort -> { + posts = Transformations.switchMap(nsfwAndSortTypeLiveData, nsfwAndSort -> { postDataSourceFactory.changeNSFWAndSortType(nsfwLiveData.getValue(), sortTypeLiveData.getValue()); return (new LivePagedListBuilder(postDataSourceFactory, pagedListConfig)).build(); }); @@ -73,7 +73,7 @@ public class PostViewModel extends ViewModel { sortTypeLiveData = new MutableLiveData<>(); sortTypeLiveData.postValue(sortType); - NSFWAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); + nsfwAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); PagedList.Config pagedListConfig = (new PagedList.Config.Builder()) @@ -81,7 +81,7 @@ public class PostViewModel extends ViewModel { .setPageSize(25) .build(); - posts = Transformations.switchMap(NSFWAndSortTypeLiveData, nsfwAndSort -> { + posts = Transformations.switchMap(nsfwAndSortTypeLiveData, nsfwAndSort -> { postDataSourceFactory.changeNSFWAndSortType(nsfwLiveData.getValue(), sortTypeLiveData.getValue()); return (new LivePagedListBuilder(postDataSourceFactory, pagedListConfig)).build(); }); @@ -104,7 +104,7 @@ public class PostViewModel extends ViewModel { sortTypeLiveData = new MutableLiveData<>(); sortTypeLiveData.postValue(sortType); - NSFWAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); + nsfwAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); PagedList.Config pagedListConfig = (new PagedList.Config.Builder()) @@ -112,7 +112,7 @@ public class PostViewModel extends ViewModel { .setPageSize(25) .build(); - posts = Transformations.switchMap(NSFWAndSortTypeLiveData, nsfwAndSort -> { + posts = Transformations.switchMap(nsfwAndSortTypeLiveData, nsfwAndSort -> { postDataSourceFactory.changeNSFWAndSortType(nsfwLiveData.getValue(), sortTypeLiveData.getValue()); return (new LivePagedListBuilder(postDataSourceFactory, pagedListConfig)).build(); }); @@ -135,7 +135,7 @@ public class PostViewModel extends ViewModel { sortTypeLiveData = new MutableLiveData<>(); sortTypeLiveData.postValue(sortType); - NSFWAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); + nsfwAndSortTypeLiveData = new NSFWAndSortTypeLiveData(nsfwLiveData, sortTypeLiveData); PagedList.Config pagedListConfig = (new PagedList.Config.Builder()) @@ -143,7 +143,7 @@ public class PostViewModel extends ViewModel { .setPageSize(25) .build(); - posts = Transformations.switchMap(NSFWAndSortTypeLiveData, nsfwAndSort -> { + posts = Transformations.switchMap(nsfwAndSortTypeLiveData, nsfwAndSort -> { postDataSourceFactory.changeNSFWAndSortType(nsfwLiveData.getValue(), sortTypeLiveData.getValue()); return (new LivePagedListBuilder(postDataSourceFactory, pagedListConfig)).build(); }); diff --git a/app/src/main/res/drawable-hdpi/splash_icon.png b/app/src/main/res/drawable-hdpi/splash_icon.png Binary files differnew file mode 100644 index 00000000..1cb4280e --- /dev/null +++ b/app/src/main/res/drawable-hdpi/splash_icon.png diff --git a/app/src/main/res/drawable-mdpi/splash_icon.png b/app/src/main/res/drawable-mdpi/splash_icon.png Binary files differnew file mode 100644 index 00000000..637d7c35 --- /dev/null +++ b/app/src/main/res/drawable-mdpi/splash_icon.png diff --git a/app/src/main/res/drawable-xhdpi/splash_icon.png b/app/src/main/res/drawable-xhdpi/splash_icon.png Binary files differnew file mode 100644 index 00000000..3d41cc71 --- /dev/null +++ b/app/src/main/res/drawable-xhdpi/splash_icon.png diff --git a/app/src/main/res/drawable-xxhdpi/splash_icon.png b/app/src/main/res/drawable-xxhdpi/splash_icon.png Binary files differnew file mode 100644 index 00000000..643d5f55 --- /dev/null +++ b/app/src/main/res/drawable-xxhdpi/splash_icon.png diff --git a/app/src/main/res/drawable-xxxhdpi/splash_icon.png b/app/src/main/res/drawable-xxxhdpi/splash_icon.png Binary files differnew file mode 100644 index 00000000..14da901c --- /dev/null +++ b/app/src/main/res/drawable-xxxhdpi/splash_icon.png diff --git a/app/src/main/res/drawable/splash_icon.png b/app/src/main/res/drawable/splash_icon.png Binary files differnew file mode 100644 index 00000000..637d7c35 --- /dev/null +++ b/app/src/main/res/drawable/splash_icon.png diff --git a/app/src/main/res/drawable/splash_screen.xml b/app/src/main/res/drawable/splash_screen.xml new file mode 100644 index 00000000..c3ccc627 --- /dev/null +++ b/app/src/main/res/drawable/splash_screen.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque"> + + <item android:drawable="@color/backgroundColor" /> + + <item> + <bitmap + android:src="@drawable/splash_icon" + android:gravity="center" /> + </item> + +</layer-list>
\ No newline at end of file diff --git a/app/src/main/res/values-night-v27/styles.xml b/app/src/main/res/values-night-v27/styles.xml new file mode 100644 index 00000000..275f4057 --- /dev/null +++ b/app/src/main/res/values-night-v27/styles.xml @@ -0,0 +1,8 @@ +<resources> + + <style name="AppTheme.Launcher" parent="@style/AppTheme.NoActionBarWithTransparentStatusBar"> + <item name="android:windowBackground">@drawable/splash_screen</item> + <item name="android:navigationBarColor">@color/navBarColor</item> + </style> + +</resources> diff --git a/app/src/main/res/values-v27/styles.xml b/app/src/main/res/values-v27/styles.xml new file mode 100644 index 00000000..c354ca2c --- /dev/null +++ b/app/src/main/res/values-v27/styles.xml @@ -0,0 +1,10 @@ +<resources> + + <style name="AppTheme.Launcher" parent="@style/AppTheme.NoActionBarWithTransparentStatusBar"> + <item name="android:windowBackground">@drawable/splash_screen</item> + <item name="android:navigationBarColor">@color/navBarColor</item> + <item name="android:windowLightStatusBar">true</item> + <item name="android:windowLightNavigationBar">true</item> + </style> + +</resources> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 03c4361a..e4119c67 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -10,6 +10,10 @@ <item name="android:textColorPrimary">@android:color/white</item> </style> + <style name="AppTheme.Launcher" parent="@style/AppTheme.NoActionBarWithTransparentStatusBar"> + <item name="android:windowBackground">@drawable/splash_screen</item> + </style> + <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> |