From f9ac199c1fb9386ab4b79f86ee202d75a9a9d6a0 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Tue, 27 Sep 2016 21:33:26 +0200 Subject: [PATCH] fixed .webm download locatiion issue --- app/src/main/AndroidManifest.xml | 2 +- .../java/org/schabi/newpipe/MainActivity.java | 4 ++-- .../newpipe/detail/ActionBarHandler.java | 2 +- ...MainActivity.java => DownloadActivity.java} | 17 ++++++++++++----- .../newpipe/download/DownloadDialog.java | 6 ++++-- .../newpipe/settings/NewPipeSettings.java | 8 -------- .../us/shandian/giga/get/DownloadManager.java | 2 +- .../shandian/giga/get/DownloadManagerImpl.java | 8 ++++++-- .../giga/service/DownloadManagerService.java | 8 ++++---- .../java/us/shandian/giga/util/Utility.java | 18 +----------------- 10 files changed, 32 insertions(+), 43 deletions(-) rename app/src/main/java/org/schabi/newpipe/download/{MainActivity.java => DownloadActivity.java} (91%) 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; }