diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8a2f38540..5bae70262 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -133,7 +133,7 @@
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index e94d7591c..5d4729e90 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -16,7 +16,7 @@ import org.schabi.newpipe.settings.SettingsActivity;
* Created by Christian Schabesberger on 02.08.16.
*
* Copyright (C) Christian Schabesberger 2016
- * MainActivity.java is part of NewPipe.
+ * DownloadActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -73,7 +73,7 @@ public class MainActivity extends AppCompatActivity {
return true;
}
case R.id.action_show_downloads: {
- Intent intent = new Intent(this, org.schabi.newpipe.download.MainActivity.class);
+ Intent intent = new Intent(this, org.schabi.newpipe.download.DownloadActivity.class);
startActivity(intent);
return true;
}
diff --git a/app/src/main/java/org/schabi/newpipe/detail/ActionBarHandler.java b/app/src/main/java/org/schabi/newpipe/detail/ActionBarHandler.java
index feed040d1..57aaf9c5b 100644
--- a/app/src/main/java/org/schabi/newpipe/detail/ActionBarHandler.java
+++ b/app/src/main/java/org/schabi/newpipe/detail/ActionBarHandler.java
@@ -183,7 +183,7 @@ class ActionBarHandler {
return true;
case R.id.menu_item_downloads: {
Intent intent =
- new Intent(activity, org.schabi.newpipe.download.MainActivity.class);
+ new Intent(activity, org.schabi.newpipe.download.DownloadActivity.class);
activity.startActivity(intent);
return true;
}
diff --git a/app/src/main/java/org/schabi/newpipe/download/MainActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
similarity index 91%
rename from app/src/main/java/org/schabi/newpipe/download/MainActivity.java
rename to app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index 60b64b1bf..a7e52c486 100644
--- a/app/src/main/java/org/schabi/newpipe/download/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -23,6 +23,7 @@ import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.AdapterView;
import android.widget.EditText;
+import android.widget.RadioButton;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
@@ -41,13 +42,13 @@ import us.shandian.giga.ui.fragment.MissionsFragment;
import us.shandian.giga.util.CrashHandler;
import us.shandian.giga.util.Utility;
-public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
+public class DownloadActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
public static final String INTENT_DOWNLOAD = "us.shandian.giga.intent.DOWNLOAD";
public static final String INTENT_LIST = "us.shandian.giga.intent.LIST";
- private static final String TAG = MainActivity.class.toString();
+ private static final String TAG = DownloadActivity.class.toString();
public static final String THREADS = "threads";
@@ -150,6 +151,8 @@ public class MainActivity extends AppCompatActivity implements AdapterView.OnIte
final TextView tCount = Utility.findViewById(v, R.id.threads_count);
final SeekBar threads = Utility.findViewById(v, R.id.threads);
final Toolbar toolbar = Utility.findViewById(v, R.id.toolbar);
+ final RadioButton audioButton = (RadioButton) Utility.findViewById(v, R.id.audio_button);
+
threads.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@@ -204,12 +207,16 @@ public class MainActivity extends AppCompatActivity implements AdapterView.OnIte
File f = new File(mManager.getLocation() + "/" + fName);
if (f.exists()) {
- Toast.makeText(MainActivity.this, R.string.msg_exists, Toast.LENGTH_SHORT).show();
+ Toast.makeText(DownloadActivity.this, R.string.msg_exists, Toast.LENGTH_SHORT).show();
} else {
while (mBinder == null);
- int res = mManager.startMission(getIntent().getData().toString(), fName, threads.getProgress() + 1);
+ int res = mManager.startMission(
+ getIntent().getData().toString(),
+ fName,
+ audioButton.isChecked(),
+ threads.getProgress() + 1);
mBinder.onMissionAdded(mManager.getMission(res));
mFragment.notifyChange();
@@ -258,7 +265,7 @@ public class MainActivity extends AppCompatActivity implements AdapterView.OnIte
return true;
}
case R.id.action_report_error: {
- ErrorActivity.reportError(MainActivity.this, new Vector(),
+ ErrorActivity.reportError(DownloadActivity.this, new Vector(),
null, null,
ErrorActivity.ErrorInfo.make(ErrorActivity.USER_REPORT,
null,
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index 57dd4bd85..5669a3308 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -225,6 +225,7 @@ public class DownloadDialog extends DialogFragment {
int res = mManager.startMission(
arguments.getString(AUDIO_URL),
fName + arguments.getString(FILE_SUFFIX_AUDIO),
+ audioButton.isChecked(),
threads.getProgress() + 1);
mBinder.onMissionAdded(mManager.getMission(res));
}
@@ -233,6 +234,7 @@ public class DownloadDialog extends DialogFragment {
int res = mManager.startMission(
arguments.getString(VIDEO_URL),
fName + arguments.getString(FILE_SUFFIX_VIDEO),
+ audioButton.isChecked(),
threads.getProgress() + 1);
mBinder.onMissionAdded(mManager.getMission(res));
}
@@ -255,8 +257,8 @@ public class DownloadDialog extends DialogFragment {
//we'll see later
FileDownloader.downloadFile(getContext(), url, saveFilePath, title);
} else {
- Intent intent = new Intent(getContext(), MainActivity.class);
- intent.setAction(MainActivity.INTENT_DOWNLOAD);
+ Intent intent = new Intent(getContext(), DownloadActivity.class);
+ intent.setAction(DownloadActivity.INTENT_DOWNLOAD);
intent.setData(Uri.parse(url));
intent.putExtra("fileName", createFileName(title) + fileSuffix);
startActivity(intent);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
index 3934655b6..e4d6b6ea6 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
@@ -89,14 +89,6 @@ public class NewPipeSettings {
return downloadPath;
}
- public static String getDownloadPath(Context context, String fileName)
- {
- if(Utility.isVideoFile(fileName)) {
- return NewPipeSettings.getVideoDownloadPath(context);
- }
- return NewPipeSettings.getAudioDownloadPath(context);
- }
-
private static File getFolder(Context context, int keyID, String defaultDirectoryName) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
final String key = context.getString(keyID);
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadManager.java b/app/src/main/java/us/shandian/giga/get/DownloadManager.java
index 6090e1908..44eb0bb8e 100644
--- a/app/src/main/java/us/shandian/giga/get/DownloadManager.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadManager.java
@@ -4,7 +4,7 @@ public interface DownloadManager
{
int BLOCK_SIZE = 512 * 1024;
- int startMission(String url, String name, int threads);
+ int startMission(String url, String name, boolean isAudio, int threads);
void resumeMission(int id);
void pauseMission(int id);
void deleteMission(int id);
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadManagerImpl.java b/app/src/main/java/us/shandian/giga/get/DownloadManagerImpl.java
index 558602ca3..498b9a079 100755
--- a/app/src/main/java/us/shandian/giga/get/DownloadManagerImpl.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadManagerImpl.java
@@ -31,11 +31,15 @@ public class DownloadManagerImpl implements DownloadManager
}
@Override
- public int startMission(String url, String name, int threads) {
+ public int startMission(String url, String name, boolean isAudio, int threads) {
DownloadMission mission = new DownloadMission();
mission.url = url;
mission.name = name;
- mission.location = NewPipeSettings.getDownloadPath(mContext, name);
+ if(isAudio) {
+ mission.location = NewPipeSettings.getAudioDownloadPath(mContext);
+ } else {
+ mission.location = NewPipeSettings.getVideoDownloadPath(mContext);
+ }
mission.timestamp = System.currentTimeMillis();
mission.threadCount = threads;
new Initializer(mContext, mission).start();
diff --git a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
index ca85ae727..930075e0b 100755
--- a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
+++ b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
@@ -14,12 +14,12 @@ import android.os.Message;
import android.support.v4.app.NotificationCompat.Builder;
import android.util.Log;
+import org.schabi.newpipe.download.DownloadActivity;
import org.schabi.newpipe.settings.NewPipeSettings;
import org.schabi.newpipe.R;
import us.shandian.giga.get.DownloadManager;
import us.shandian.giga.get.DownloadManagerImpl;
import us.shandian.giga.get.DownloadMission;
-import org.schabi.newpipe.download.MainActivity;
import static org.schabi.newpipe.BuildConfig.DEBUG;
public class DownloadManagerService extends Service implements DownloadMission.MissionListener
@@ -53,7 +53,7 @@ public class DownloadManagerService extends Service implements DownloadMission.M
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
- i.setClass(this, MainActivity.class);
+ i.setClass(this, DownloadActivity.class);
Drawable icon = this.getResources().getDrawable(R.mipmap.ic_launcher);
@@ -68,8 +68,8 @@ public class DownloadManagerService extends Service implements DownloadMission.M
PendingIntent.getActivity(
this,
0,
- new Intent(this, MainActivity.class)
- .setAction(MainActivity.INTENT_LIST),
+ new Intent(this, DownloadActivity.class)
+ .setAction(DownloadActivity.INTENT_LIST),
PendingIntent.FLAG_UPDATE_CURRENT
);
diff --git a/app/src/main/java/us/shandian/giga/util/Utility.java b/app/src/main/java/us/shandian/giga/util/Utility.java
index d38958b4b..856b841fe 100644
--- a/app/src/main/java/us/shandian/giga/util/Utility.java
+++ b/app/src/main/java/us/shandian/giga/util/Utility.java
@@ -27,13 +27,8 @@ public class Utility
{
public static enum FileType {
- APP,
VIDEO,
- EXCEL,
- WORD,
- POWERPOINT,
MUSIC,
- ARCHIVE,
UNKNOWN
}
@@ -142,22 +137,11 @@ public class Utility
}
public static FileType getFileType(String file) {
- if (file.endsWith(".apk")) {
- return FileType.APP;
- } else if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".flac") || file.endsWith(".m4a")) {
+ if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".flac") || file.endsWith(".m4a")) {
return FileType.MUSIC;
} else if (file.endsWith(".mp4") || file.endsWith(".mpeg") || file.endsWith(".rm") || file.endsWith(".rmvb")
|| file.endsWith(".flv") || file.endsWith(".webp") || file.endsWith(".webm")) {
return FileType.VIDEO;
- } else if (file.endsWith(".doc") || file.endsWith(".docx")) {
- return FileType.WORD;
- } else if (file.endsWith(".xls") || file.endsWith(".xlsx")) {
- return FileType.EXCEL;
- } else if (file.endsWith(".ppt") || file.endsWith(".pptx")) {
- return FileType.POWERPOINT;
- } else if (file.endsWith(".zip") || file.endsWith(".rar") || file.endsWith(".7z") || file.endsWith(".gz")
- || file.endsWith("tar") || file.endsWith(".bz")) {
- return FileType.ARCHIVE;
} else {
return FileType.UNKNOWN;
}