diff --git a/README.md b/README.md
index 101c194..281692d 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,9 @@
-
-
+
+
+
## Download
@@ -23,16 +24,19 @@ Beta Test on Google Play: https://play.google.com/store/apps/details?id=net.schu
- [X] Change Server
- [X] Search
- [X] App Icon and assets
-
+- [!] Themes / Dark mode (needs work)
+- [X] Background playback
+- [X] NSFW Filter option
+
# TODO
+
- [ ] Video Playback via WebRTC
-- [ ] Login
+- [ ] Authentication / Login
- [ ] Like/dislike video
- [ ] Comment video
- [ ] Unit Tests
-
- [ ] Lots more missing at this point...
diff --git a/Screenshot1.png b/Screenshot1.png
deleted file mode 100644
index a962100..0000000
Binary files a/Screenshot1.png and /dev/null differ
diff --git a/Screenshot2.jpg b/Screenshot2.jpg
deleted file mode 100644
index 841a96b..0000000
Binary files a/Screenshot2.jpg and /dev/null differ
diff --git a/Screenshot_1545425431.png b/Screenshot_1545425431.png
new file mode 100644
index 0000000..2d7c0f9
Binary files /dev/null and b/Screenshot_1545425431.png differ
diff --git a/Screenshot_1545425504.png b/Screenshot_1545425504.png
new file mode 100644
index 0000000..586bebc
Binary files /dev/null and b/Screenshot_1545425504.png differ
diff --git a/Screenshot_1545425516.png b/Screenshot_1545425516.png
new file mode 100644
index 0000000..a1ae020
Binary files /dev/null and b/Screenshot_1545425516.png differ
diff --git a/app/build.gradle b/app/build.gradle
index 0296fb0..e6774b8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,8 +6,8 @@ android {
applicationId "net.schueller.peertube"
minSdkVersion 21
targetSdkVersion 28
- versionCode 1010
- versionName "1.0.10"
+ versionCode 1011
+ versionName "1.0.11"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3343545..6cc2ae4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -21,6 +21,7 @@
tools:ignore="GoogleAppIndexingWarning">
@@ -34,15 +35,17 @@
+ android:launchMode="singleTop" />
diff --git a/app/src/main/java/net/schueller/peertube/activity/VideoListActivity.java b/app/src/main/java/net/schueller/peertube/activity/VideoListActivity.java
index 5ef84c4..d7d6797 100644
--- a/app/src/main/java/net/schueller/peertube/activity/VideoListActivity.java
+++ b/app/src/main/java/net/schueller/peertube/activity/VideoListActivity.java
@@ -15,6 +15,7 @@ import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.support.v7.app.AppCompatDelegate;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
@@ -116,6 +117,19 @@ public class VideoListActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ // Set Night Mode
+ SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
+ AppCompatDelegate.setDefaultNightMode(sharedPref.getBoolean("pref_dark_mode", false) ?
+ AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO);
+
+ // Set theme
+ setTheme(getResources().getIdentifier(
+ sharedPref.getString("pref_theme", "AppTheme.ORANGE"),
+ "style",
+ getPackageName())
+ );
+
setContentView(R.layout.activity_video_list);
filter = "";
@@ -140,13 +154,17 @@ public class VideoListActivity extends AppCompatActivity {
Menu navMenu = navigation.getMenu();
navMenu.findItem(R.id.navigation_home).setIcon(
- new IconDrawable(this, FontAwesomeIcons.fa_home));
+ new IconDrawable(this, FontAwesomeIcons.fa_home)
+ .colorRes(R.color.primaryDarkColorDeepOrange));
navMenu.findItem(R.id.navigation_trending).setIcon(
- new IconDrawable(this, FontAwesomeIcons.fa_fire));
+ new IconDrawable(this, FontAwesomeIcons.fa_fire)
+ .colorRes(R.color.primaryDarkColorDeepOrange));
navMenu.findItem(R.id.navigation_subscriptions).setIcon(
- new IconDrawable(this, FontAwesomeIcons.fa_folder));
+ new IconDrawable(this, FontAwesomeIcons.fa_folder)
+ .colorRes(R.color.primaryDarkColorDeepOrange));
navMenu.findItem(R.id.navigation_account).setIcon(
- new IconDrawable(this, FontAwesomeIcons.fa_user_circle));
+ new IconDrawable(this, FontAwesomeIcons.fa_user_circle)
+ .colorRes(R.color.primaryDarkColorDeepOrange));
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
diff --git a/app/src/main/res/color/bottom_bar.xml b/app/src/main/res/color/bottom_bar.xml
index e0f548d..1f394b4 100644
--- a/app/src/main/res/color/bottom_bar.xml
+++ b/app/src/main/res/color/bottom_bar.xml
@@ -1,7 +1,7 @@
-
-
+
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:background="?attr/colorPrimary"
+ app:layout_scrollFlags="scroll|enterAlways"
+ android:elevation="4dp" />
+
diff --git a/app/src/main/res/layout/tool_bar.xml b/app/src/main/res/layout/tool_bar.xml
deleted file mode 100644
index e70513a..0000000
--- a/app/src/main/res/layout/tool_bar.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/video_list.xml b/app/src/main/res/layout/video_list.xml
deleted file mode 100644
index 0d11b42..0000000
--- a/app/src/main/res/layout/video_list.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml
new file mode 100644
index 0000000..1625c00
--- /dev/null
+++ b/app/src/main/res/values/array.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
- @string/red
+ - @string/pink
+ - @string/purple
+ - @string/deeppurple
+ - @string/indigo
+ - @string/blue
+ - @string/lightblue
+ - @string/cyan
+ - @string/teal
+ - @string/green
+ - @string/lightgreen
+ - @string/lime
+ - @string/yellow
+ - @string/amber
+ - @string/orange
+ - @string/deeporange
+ - @string/brown
+ - @string/gray
+ - @string/bluegray
+
+
+
+ - AppTheme.RED
+ - AppTheme.PINK
+ - AppTheme.PURPLE
+ - AppTheme.DEEPPURPLE
+ - AppTheme.INDIGO
+ - AppTheme.BLUE
+ - AppTheme.LIGHTBLUE
+ - AppTheme.CYAN
+ - AppTheme.TEAL
+ - AppTheme.GREEN
+ - AppTheme.LIGHTGREEN
+ - AppTheme.LIME
+ - AppTheme.YELLOW
+ - AppTheme.AMBER
+ - AppTheme.ORANGE
+ - AppTheme.DEEPORANGE
+ - AppTheme.BROWN
+ - AppTheme.GRAY
+ - AppTheme.BLUEGRAY
+
+
+
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 7ce840e..21529c2 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -1,12 +1,7 @@
+
-
-
-
-
-
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 54e7120..7c9e076 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,11 +1,201 @@
- #f1680d
- #E64A19
- #FF4081
- #f1f5f8
- #4c4c4c
- #66000000
- #000000
+ #d69b9b9b
+ #e300aaff
+ #7ca6a6a6
+
+
+
+ #F44336
+ #FFCDD2
+ #D32F2F
+ #FFC107
+ #fccf4a
+ #e1a902
+ #ffffff
+ #000000
+
+
+ #E91E63
+ #F8BBD0
+ #C2185B
+ #448AFF
+ #89b3f8
+ #1a62da
+ #000000
+ #000000
+
+
+ #9C27B0
+ #E1BEE7
+ #7B1FA2
+ #CDDC39
+ #e1ea86
+ #b4c320
+ #ffffff
+ #000000
+
+
+
+ #673AB7
+ #D1C4E9
+ #512DA8
+ #FFEB3B
+ #fff599
+ #e0cd24
+ #ffffff
+ #000000
+
+
+ #3F51B5
+ #C5CAE9
+ #303F9F
+ #FF9800
+ #feba56
+ #cf7b00
+ #ffffff
+ #000000
+
+
+ #1e88e5
+ #6ab7ff
+ #005cb2
+ #607D8B
+ #CFD8DC
+ #455A64
+ #000000
+ #000000
+
+
+ #039be5
+ #63ccff
+ #006db3
+ #CDDC39
+ #F0F4C3
+ #AFB42B
+ #000000
+ #000000
+
+
+ #00acc1
+ #5ddef4
+ #007c91
+ #f50057
+ #ff5983
+ #bb002f
+ #000000
+ #000000
+
+
+ #00796b
+ #48a999
+ #004c40
+ #ffd180
+ #ffffb1
+ #caa052
+ #ffffff
+ #000000
+
+
+
+
+ #4CAF50
+ #C8E6C9
+ #388E3C
+ #00BCD4
+ #6cd1de
+ #0197ab
+ #ffffff
+ #000000
+
+
+ #8BC34A
+ #DCEDC8
+ #689F38
+ #448AFF
+ #83affa
+ #1e58b8
+ #ffffff
+ #000000
+
+
+ #CDDC39
+ #F0F4C3
+ #AFB42B
+ #7C4DFF
+ #ae94f5
+ #4f2cb3
+ #ffffff
+ #000000
+
+
+ #FFEB3B
+ #FFF9C4
+ #FBC02D
+ #536DFE
+ #8799fd
+ #3751e1
+ #ffffff
+ #000000
+
+
+ #FFC107
+ #FFECB3
+ #FFA000
+ #03A9F4
+ #65c4ef
+ #1e87b6
+ #ffffff
+ #000000
+
+
+ #FF9800
+ #FFE0B2
+ #F57C00
+ #8BC34A
+ #b4e67a
+ #649131
+ #ffffff
+ #000000
+
+
+ #FF5722
+ #FFCCBC
+ #E64A19
+ #00BCD4
+ #75e8f6
+ #2a9cab
+ #ffffff
+ #000000
+
+
+ #795548
+ #D7CCC8
+ #5D4037
+ #FFC107
+ #f6c83f
+ #cf9c02
+ #ffffff
+ #000000
+
+
+ #9E9E9E
+ #F5F5F5
+ #616161
+ #536DFE
+ #94a5ff
+ #2c44c9
+ #ffffff
+ #000000
+
+
+ #607D8B
+ #CFD8DC
+ #455A64
+ #CDDC39
+ #e3f15c
+ #a6b320
+ #ffffff
+ #000000
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9a0fbc8..ab7744d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -60,5 +60,29 @@
Share
PeerTube
Invalid Url!
+ Dark Mode
+ Restart App for Dark Mode to take effect.
+ App Theme
+ Restart App for theme to take effect.
+
+ Red
+ Pink
+ Purple
+ Deep Purple
+ Indigo
+ Nlue
+ Light Blue
+ Cyan
+ Teal
+ Green
+ Light Green
+ Lime
+ Yellow
+ Amber
+ Orange
+ Deep Orange
+ Brown
+ Gray
+ Bluegray
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5d4e2e0..6bd6a6b 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,26 +1,177 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
index 4da93e5..3e6af98 100644
--- a/app/src/main/res/xml/pref_general.xml
+++ b/app/src/main/res/xml/pref_general.xml
@@ -16,6 +16,20 @@
android:summary="@string/pref_description_show_nsfw"
android:defaultValue="false" />
+
+
+
+