aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-09-03 06:37:20 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-09-03 06:37:20 +0000
commit79726b9a08d8b55f6965e2336857e1587bf1795c (patch)
tree14a9eaa5b83aec1af97012d754a8d7d29e2d8693
parent870b21717403fc5a9304183816d0c9cef9f73d4d (diff)
downloadinfinity-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.
-rw-r--r--app/src/main/AndroidManifest.xml2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/PostDataSourceFactory.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java18
-rw-r--r--app/src/main/res/drawable-hdpi/splash_icon.pngbin0 -> 10148 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/splash_icon.pngbin0 -> 6472 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/splash_icon.pngbin0 -> 14868 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/splash_icon.pngbin0 -> 23498 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/splash_icon.pngbin0 -> 32987 bytes
-rw-r--r--app/src/main/res/drawable/splash_icon.pngbin0 -> 6472 bytes
-rw-r--r--app/src/main/res/drawable/splash_screen.xml12
-rw-r--r--app/src/main/res/values-night-v27/styles.xml8
-rw-r--r--app/src/main/res/values-v27/styles.xml10
-rw-r--r--app/src/main/res/values/styles.xml4
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
new file mode 100644
index 00000000..1cb4280e
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/splash_icon.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/splash_icon.png b/app/src/main/res/drawable-mdpi/splash_icon.png
new file mode 100644
index 00000000..637d7c35
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/splash_icon.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/splash_icon.png b/app/src/main/res/drawable-xhdpi/splash_icon.png
new file mode 100644
index 00000000..3d41cc71
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/splash_icon.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/splash_icon.png b/app/src/main/res/drawable-xxhdpi/splash_icon.png
new file mode 100644
index 00000000..643d5f55
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/splash_icon.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/splash_icon.png b/app/src/main/res/drawable-xxxhdpi/splash_icon.png
new file mode 100644
index 00000000..14da901c
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/splash_icon.png
Binary files differ
diff --git a/app/src/main/res/drawable/splash_icon.png b/app/src/main/res/drawable/splash_icon.png
new file mode 100644
index 00000000..637d7c35
--- /dev/null
+++ b/app/src/main/res/drawable/splash_icon.png
Binary files differ
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>