diff --git a/.travis.yml b/.travis.yml
index fcdfeb9b2..d5d3aed9c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ android:
components:
# The BuildTools version used by NewPipe
- tools
- - build-tools-27.0.1
+ - build-tools-27.0.3
# The SDK version used to compile NewPipe
- android-27
diff --git a/app/build.gradle b/app/build.gradle
index 865c807ac..54ec9a84e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,13 +26,6 @@ android {
debuggable true
applicationIdSuffix ".debug"
}
- beta {
- minifyEnabled true
- shrinkResources true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
-
- applicationIdSuffix ".beta"
- }
}
lintOptions {
@@ -98,7 +91,6 @@ dependencies {
annotationProcessor "frankiesardo:icepick-processor:$icepickLibVersion"
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryLibVersion"
- betaImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryLibVersion"
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryLibVersion"
implementation 'com.squareup.okhttp3:okhttp:3.9.1'
diff --git a/app/src/beta/AndroidManifest.xml b/app/src/beta/AndroidManifest.xml
deleted file mode 100644
index dd390a318..000000000
--- a/app/src/beta/AndroidManifest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/beta/res/mipmap-hdpi/ic_launcher.png b/app/src/beta/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index 73c65771d..000000000
Binary files a/app/src/beta/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/beta/res/mipmap-mdpi/ic_launcher.png b/app/src/beta/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 6f5eeeee1..000000000
Binary files a/app/src/beta/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/beta/res/mipmap-xhdpi/ic_launcher.png b/app/src/beta/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index e871a3ea9..000000000
Binary files a/app/src/beta/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png b/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index e38901a86..000000000
Binary files a/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 1cf7e64be..000000000
Binary files a/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 1c62690c2..8285a445e 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -44,7 +44,6 @@ import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
-import android.widget.Toast;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.StreamingService;
@@ -94,44 +93,48 @@ public class MainActivity extends AppCompatActivity {
drawer = findViewById(R.id.drawer_layout);
drawerItems = findViewById(R.id.navigation);
- //drawerItems.setItemIconTintList(null); // Set null to use the original icon
+ for(StreamingService s : NewPipe.getServices()) {
+ String title =
+ s.getServiceInfo().getName() +
+ (ServiceHelper.isBeta(s) ? " (beta)" : "");
+ MenuItem item = drawerItems.getMenu()
+ .add(R.id.menu_services_group, s.getServiceId(), 0, title);
+ item.setIcon(ServiceHelper.getIcon(s.getServiceId()));
+ }
+
drawerItems.getMenu().getItem(ServiceHelper.getSelectedServiceId(this)).setChecked(true);
- if (!BuildConfig.BUILD_TYPE.equals("release")) {
- toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close);
- toggle.syncState();
- drawer.addDrawerListener(toggle);
- drawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
- private int lastService;
+ toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close);
+ toggle.syncState();
+ drawer.addDrawerListener(toggle);
+ drawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
+ private int lastService;
- @Override
- public void onDrawerOpened(View drawerView) {
- lastService = ServiceHelper.getSelectedServiceId(MainActivity.this);
+ @Override
+ public void onDrawerOpened(View drawerView) {
+ lastService = ServiceHelper.getSelectedServiceId(MainActivity.this);
+ }
+
+ @Override
+ public void onDrawerClosed(View drawerView) {
+ if (lastService != ServiceHelper.getSelectedServiceId(MainActivity.this)) {
+ new Handler(Looper.getMainLooper()).post(MainActivity.this::recreate);
}
+ }
+ });
- @Override
- public void onDrawerClosed(View drawerView) {
- if (lastService != ServiceHelper.getSelectedServiceId(MainActivity.this)) {
- new Handler(Looper.getMainLooper()).post(MainActivity.this::recreate);
- }
- }
- });
+ drawerItems.setNavigationItemSelectedListener(this::changeService);
- drawerItems.setNavigationItemSelectedListener(this::changeService);
-
- setupDrawerFooter();
- setupDrawerHeader();
- } else {
- drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
- }
+ setupDrawerFooter();
+ setupDrawerHeader();
}
+
private boolean changeService(MenuItem item) {
if (item.getGroupId() == R.id.menu_services_group) {
drawerItems.getMenu().getItem(ServiceHelper.getSelectedServiceId(this)).setChecked(false);
- ServiceHelper.setSelectedServiceId(this, item.getTitle().toString());
+ ServiceHelper.setSelectedServiceId(this, item.getItemId());
drawerItems.getMenu().getItem(ServiceHelper.getSelectedServiceId(this)).setChecked(true);
- headerServiceView.setText("gurken");
} else {
return false;
}
@@ -176,11 +179,9 @@ public class MainActivity extends AppCompatActivity {
// when the user returns to MainActivity
drawer.closeDrawer(Gravity.START, false);
try {
- if(BuildConfig.BUILD_TYPE != "release" ) {
- String selectedServiceName = NewPipe.getService(
- ServiceHelper.getSelectedServiceId(this)).getServiceInfo().getName();
- headerServiceView.setText(selectedServiceName);
- }
+ String selectedServiceName = NewPipe.getService(
+ ServiceHelper.getSelectedServiceId(this)).getServiceInfo().getName();
+ headerServiceView.setText(selectedServiceName);
} catch (Exception e) {
ErrorActivity.reportUiError(this, e);
}
@@ -312,9 +313,6 @@ public class MainActivity extends AppCompatActivity {
case R.id.action_about:
NavigationHelper.openAbout(this);
return true;
- case R.id.action_history:
- NavigationHelper.openHistory(this);
- return true;
default:
return super.onOptionsItemSelected(item);
}
diff --git a/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java b/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
index 9d71ae83a..d86f27f2f 100644
--- a/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/ServiceHelper.java
@@ -65,7 +65,6 @@ public class ServiceHelper {
}
public static int getSelectedServiceId(Context context) {
- if (BuildConfig.BUILD_TYPE.equals("release")) return DEFAULT_FALLBACK_SERVICE.getServiceId();
final String serviceName = PreferenceManager.getDefaultSharedPreferences(context)
.getString(context.getString(R.string.current_service_key), context.getString(R.string.default_service_value));
@@ -110,4 +109,11 @@ public class ServiceHelper {
return TimeUnit.MILLISECONDS.convert(1, TimeUnit.HOURS);
}
}
+
+ public static boolean isBeta(final StreamingService s) {
+ switch(s.getServiceInfo().getName()) {
+ case "YouTube": return false;
+ default: return true;
+ }
+ }
}
diff --git a/app/src/main/res/layout/drawer_layout.xml b/app/src/main/res/layout/drawer_layout.xml
index aba90430c..c0186a02c 100644
--- a/app/src/main/res/layout/drawer_layout.xml
+++ b/app/src/main/res/layout/drawer_layout.xml
@@ -75,8 +75,8 @@
android:layout_below="@id/drawer_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- app:menu="@menu/drawer_items"
app:elevation="0dp"/>
+
-