small fixes
added icons to preferences updated icon colors removed some leftover hardcoded strings fixed time formatting fixed image table in readme
This commit is contained in:
parent
2cb22f0653
commit
28a72866ca
15 changed files with 119 additions and 84 deletions
|
|
@ -23,7 +23,7 @@
|
|||
<PersistentState>
|
||||
<option name="values">
|
||||
<map>
|
||||
<entry key="url" value="file:/$USER_HOME$/AppData/Local/Android/Sdk/icons/material/materialicons/announcement/baseline_announcement_24.xml" />
|
||||
<entry key="url" value="file:/$USER_HOME$/AppData/Local/Android/Sdk/icons/material/materialicons/code/baseline_code_24.xml" />
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<option name="values">
|
||||
<map>
|
||||
<entry key="color" value="00a6ff" />
|
||||
<entry key="outputName" value="ic_announcement" />
|
||||
<entry key="outputName" value="ic_code" />
|
||||
<entry key="sourceFile" value="C:\Users\denis\Desktop\youtubedl-android-0.13.1\youtubedl-android-0.13.1" />
|
||||
</map>
|
||||
</option>
|
||||
|
|
|
|||
|
|
@ -37,18 +37,21 @@
|
|||
<entry key="..\:/Users/denis/Desktop/ytdlnis/ytdlnis/app/src/main/res/xml/shortcuts.xml" value="0.13852073535699017" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_announcement.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_cloud_download.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_code.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_download.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_go_up.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_home.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_music.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_music_downloaded.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_search.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_update.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_video.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/drawable/ic_video_downloaded.xml" value="0.1275" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/activity_main.xml" value="0.18" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/download_all_card.xml" value="0.3375" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/empty_history_hint.xml" value="0.2" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/fragment_history.xml" value="0.20555555555555555" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/fragment_home.xml" value="0.1" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/fragment_home.xml" value="0.18" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/fragment_settings.xml" value="0.16875" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/history_card.xml" value="0.1" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/layout/history_card_shimmer.xml" value="0.22" />
|
||||
|
|
@ -59,7 +62,7 @@
|
|||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/menu/history_menu.xml" value="0.16875" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/menu/main_menu.xml" value="0.16875" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/menu/settings_menu.xml" value="0.16875" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/xml/root_preferences.xml" value="0.30833333333333335" />
|
||||
<entry key="..\:/Users/denis/Documents/GitHub/ytdlnis/app/src/main/res/xml/root_preferences.xml" value="0.18" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,8 @@ Features:
|
|||
- [x] share videos / playlists from the Youtube App using the share menu
|
||||
- [x] heads-up download notifications
|
||||
|
||||
| | |
|
||||
|:-------------------------:|:-------------------------:|
|
||||
|||
|
||||
|:-------------------------:|:-------------------------:|
|
||||
||
|
||||
||
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import androidx.core.app.NotificationCompat;
|
|||
import androidx.core.app.NotificationManagerCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import com.deniscerri.ytdl.api.YoutubeAPIManager;
|
||||
import com.deniscerri.ytdl.database.DBManager;
|
||||
|
|
@ -99,21 +100,14 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
public void onProgressUpdate(float progress, long etaInSeconds, String line) {
|
||||
activity.runOnUiThread(() -> {
|
||||
progressBar.setProgress((int) progress);
|
||||
|
||||
String contentText = "";
|
||||
if(progressBar.getProgress() > 0){
|
||||
contentText += progressBar.getProgress() + "%";
|
||||
}
|
||||
|
||||
String eta = convertETASecondsToTime(etaInSeconds);
|
||||
if(!eta.equals("0sec")){
|
||||
contentText = contentText+ " Estimated Time: " + eta;
|
||||
}
|
||||
|
||||
if(downloadQueue.size() > 0){
|
||||
contentText = contentText + "\n" + downloadQueue.size() + " items left";
|
||||
contentText += " " + downloadQueue.size() + " items left\n";
|
||||
}
|
||||
|
||||
contentText += line.replaceAll("\\[.*?\\]", "");
|
||||
|
||||
|
||||
download_notification.setProgress(100,(int) progress,false)
|
||||
.setContentText(contentText);
|
||||
|
|
@ -172,6 +166,8 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
shimmerCards = fragmentView.findViewById(R.id.shimmer_results_framelayout);
|
||||
topAppBar = fragmentView.findViewById(R.id.home_toolbar);
|
||||
|
||||
downloadQueue = new LinkedList<>();
|
||||
|
||||
SwipeRefreshLayout swipeRefreshLayout = fragmentView.findViewById(R.id.swiperefreshhome);
|
||||
swipeRefreshLayout.setOnRefreshListener(() -> {
|
||||
initCards();
|
||||
|
|
@ -182,7 +178,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
fab.setOnClickListener(this);
|
||||
|
||||
scrollView.setOnScrollChangeListener((view, x, y, oldX, oldY) -> {
|
||||
if( y > 500){
|
||||
if(y > 500){
|
||||
fab.show();
|
||||
}else{
|
||||
fab.hide();
|
||||
|
|
@ -246,9 +242,11 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
}
|
||||
|
||||
uiHandler.post(() -> {
|
||||
addEndofResultsText();
|
||||
shimmerCards.stopShimmer();
|
||||
shimmerCards.setVisibility(View.GONE);
|
||||
if(resultObjects.size() > 1){
|
||||
addEndofResultsText();
|
||||
}
|
||||
});
|
||||
});
|
||||
thread.start();
|
||||
|
|
@ -327,7 +325,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
|
||||
if(m.find()){
|
||||
type = "Video";
|
||||
if (inputQuery.contains("list=")) {
|
||||
if (inputQuery.contains("playlist?list=")) {
|
||||
type = "Playlist";
|
||||
}
|
||||
}
|
||||
|
|
@ -372,6 +370,11 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
inputQuery = inputQuery.substring(8);
|
||||
}
|
||||
|
||||
if(inputQuery.contains("&list=")){
|
||||
el = inputQuery.split("&list=");
|
||||
inputQuery = el[0];
|
||||
}
|
||||
|
||||
Thread thread = new Thread(new Runnable(){
|
||||
private final String query;
|
||||
{
|
||||
|
|
@ -385,8 +388,8 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
Log.e(TAG, e.toString());
|
||||
}
|
||||
|
||||
dbManager.addToResults(resultObjects);
|
||||
createCard(resultObjects.get(0));
|
||||
dbManager.addToResults(resultObjects);
|
||||
|
||||
new Handler(Looper.getMainLooper()).post(() -> {
|
||||
shimmerCards.stopShimmer();
|
||||
|
|
@ -540,7 +543,6 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
if(viewIdName.contains("mp3") || viewIdName.contains("mp4")){
|
||||
Log.e(TAG, viewIdName);
|
||||
String[] buttonData = viewIdName.split("##");
|
||||
downloadQueue = new LinkedList<>();
|
||||
if(buttonData[0].equals("ALL")){
|
||||
for (int i = 0; i < resultObjects.size(); i++){
|
||||
Video vid = findVideo(resultObjects.get(i).getVideoId());
|
||||
|
|
@ -554,6 +556,11 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
downloadQueue.add(vid);
|
||||
}
|
||||
|
||||
if (downloading) {
|
||||
Toast.makeText(context, R.string.added_to_queue, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
|
||||
startDownload(downloadQueue);
|
||||
|
||||
}
|
||||
|
|
@ -587,11 +594,6 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
return;
|
||||
}
|
||||
|
||||
if (downloading) {
|
||||
Toast.makeText(context, R.string.download_already_started, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isStoragePermissionGranted()) {
|
||||
Toast.makeText(context, R.string.try_again_after_permission, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
|
|
@ -608,6 +610,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
|
||||
if(type.equals("mp3")){
|
||||
request.addOption("--embed-thumbnail");
|
||||
request.addOption("--sponsorblock-remove", "all");
|
||||
request.addOption("--postprocessor-args", "-write_id3v1 1 -id3v2_version 3");
|
||||
request.addOption("--add-metadata");
|
||||
request.addOption("--no-mtime");
|
||||
|
|
@ -616,6 +619,9 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
|
||||
clickedButton = linearLayout.findViewWithTag(id+"##mp3");
|
||||
}else if(type.equals("mp4")){
|
||||
request.addOption("--embed-thumbnail");
|
||||
request.addOption("--sponsorblock-mark", "all");
|
||||
request.addOption("--embed-subs", "");
|
||||
request.addOption("-f", "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best");
|
||||
|
||||
clickedButton = linearLayout.findViewWithTag(id+"##mp4");
|
||||
|
|
@ -641,6 +647,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
|
|||
progressBar.setProgress(0);
|
||||
progressBar.setVisibility(View.GONE);
|
||||
|
||||
notificationManager.cancel(Integer.parseInt(App.DOWNLOAD_CHANNEL_ID));
|
||||
download_notification.setContentText(getString(R.string.download_success))
|
||||
.setSmallIcon(android.R.drawable.stat_sys_download_done)
|
||||
.setLargeIcon(BitmapFactory.decodeResource(this.getResources(), android.R.drawable.stat_sys_download_done))
|
||||
|
|
|
|||
|
|
@ -118,27 +118,27 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
|||
String[] pieces = dataValue.split("/");
|
||||
|
||||
int index = 1;
|
||||
String path = "/storage/";
|
||||
StringBuilder path = new StringBuilder("/storage/");
|
||||
if(pieces[0].equals("primary")){
|
||||
path+="emulated/0/";
|
||||
path.append("emulated/0/");
|
||||
}else{
|
||||
path+=pieces[0]+"/";
|
||||
path.append(pieces[0]).append("/");
|
||||
}
|
||||
|
||||
for(int i = index; i < pieces.length; i++){
|
||||
path = path + pieces[i] + "/";
|
||||
path.append(pieces[i]).append("/");
|
||||
}
|
||||
|
||||
Log.e("TEST", path);
|
||||
p.setSummary(path);
|
||||
Log.e("TEST", path.toString());
|
||||
p.setSummary(path.toString());
|
||||
SharedPreferences sharedPreferences = requireContext().getSharedPreferences("root_preferences", Activity.MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||
switch (requestCode){
|
||||
case MUSIC_PATH_CODE:
|
||||
editor.putString("music_path", path);
|
||||
editor.putString("music_path", path.toString());
|
||||
break;
|
||||
case VIDEO_PATH_CODE:
|
||||
editor.putString("video_path", path);
|
||||
editor.putString("video_path", path.toString());
|
||||
break;
|
||||
}
|
||||
editor.apply();
|
||||
|
|
@ -146,11 +146,11 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
|||
|
||||
private void updateYoutubeDL() {
|
||||
if (updating) {
|
||||
Toast.makeText(getContext(), "Perditesimi eshte kerkuar nje here!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(getContext(), getString(R.string.ytdl_already_updating), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
|
||||
Toast.makeText(getContext(), "Filloi Perditesimi", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getContext(), getString(R.string.ytdl_updating_started), Toast.LENGTH_SHORT).show();
|
||||
|
||||
updating = true;
|
||||
Disposable disposable = Observable.fromCallable(() -> YoutubeDL.getInstance().updateYoutubeDL(getContext()))
|
||||
|
|
@ -159,10 +159,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
|||
.subscribe(status -> {
|
||||
switch (status) {
|
||||
case DONE:
|
||||
Toast.makeText(getContext(), "Perditesimi u krye me sukses!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(getContext(), getString(R.string.ytld_update_success), Toast.LENGTH_LONG).show();
|
||||
break;
|
||||
case ALREADY_UP_TO_DATE:
|
||||
Toast.makeText(getContext(), "Je ne versionin e fundit", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(getContext(), getString(R.string.you_are_in_latest_version), Toast.LENGTH_LONG).show();
|
||||
break;
|
||||
default:
|
||||
Toast.makeText(getContext(), status.toString(), Toast.LENGTH_LONG).show();
|
||||
|
|
@ -170,8 +170,8 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
|||
}
|
||||
updating = false;
|
||||
}, e -> {
|
||||
if(BuildConfig.DEBUG) Log.e(TAG, "Deshtim ne perditesim", e);
|
||||
Toast.makeText(getContext(), "Deshtim ne perditesim", Toast.LENGTH_LONG).show();
|
||||
if(BuildConfig.DEBUG) Log.e(TAG, getString(R.string.ytdl_update_failed), e);
|
||||
Toast.makeText(getContext(), getString(R.string.ytdl_update_failed), Toast.LENGTH_LONG).show();
|
||||
updating = false;
|
||||
});
|
||||
compositeDisposable.add(disposable);
|
||||
|
|
|
|||
|
|
@ -203,12 +203,14 @@ public class YoutubeAPIManager {
|
|||
while((line = reader.readLine()) != null){
|
||||
responseContent.append(line);
|
||||
}
|
||||
reader.close();
|
||||
|
||||
json = new JSONObject(responseContent.toString());
|
||||
if(json.has("error")){
|
||||
throw new Exception();
|
||||
}
|
||||
}
|
||||
conn.disconnect();
|
||||
}catch(Exception e){
|
||||
Log.e(TAG, e.toString());
|
||||
}
|
||||
|
|
@ -312,13 +314,12 @@ public class YoutubeAPIManager {
|
|||
if(minutes.isEmpty()){
|
||||
if(hours.isEmpty()){
|
||||
minutes = "0";
|
||||
}else{
|
||||
minutes = "00";
|
||||
}
|
||||
}
|
||||
duration = minutes + ":" + seconds;
|
||||
|
||||
if(!hours.isEmpty()){
|
||||
if(Integer.parseInt(minutes) < 10) minutes = "0" + minutes;
|
||||
duration = hours + ":" + minutes + ":" + seconds;
|
||||
}
|
||||
|
||||
|
|
|
|||
5
app/src/main/res/drawable/ic_code.xml
Normal file
5
app/src/main/res/drawable/ic_code.xml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="?android:textColorPrimary" android:pathData="M9.4,16.6L4.8,12l4.6,-4.6L8,6l-6,6 6,6 1.4,-1.4zM14.6,16.6l4.6,-4.6 -4.6,-4.6L16,6l6,6 -6,6 -1.4,-1.4z"/>
|
||||
</vector>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<vector android:height="24dp" android:tint="#00A6FF"
|
||||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,7h-3v5.5c0,1.38 -1.12,2.5 -2.5,2.5S10,13.88 10,12.5s1.12,-2.5 2.5,-2.5c0.57,0 1.08,0.19 1.5,0.51L14,5h4v2zM4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6z"/>
|
||||
<path android:fillColor="?android:textColorPrimary" android:pathData="M20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,7h-3v5.5c0,1.38 -1.12,2.5 -2.5,2.5S10,13.88 10,12.5s1.12,-2.5 2.5,-2.5c0.57,0 1.08,0.19 1.5,0.51L14,5h4v2zM4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6z"/>
|
||||
</vector>
|
||||
|
|
|
|||
5
app/src/main/res/drawable/ic_update.xml
Normal file
5
app/src/main/res/drawable/ic_update.xml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="?android:textColorPrimary" android:pathData="M21,10.12h-6.78l2.74,-2.82c-2.73,-2.7 -7.15,-2.8 -9.88,-0.1c-2.73,2.71 -2.73,7.08 0,9.79s7.15,2.71 9.88,0C18.32,15.65 19,14.08 19,12.1h2c0,1.98 -0.88,4.55 -2.64,6.29c-3.51,3.48 -9.21,3.48 -12.72,0c-3.5,-3.47 -3.53,-9.11 -0.02,-12.58s9.14,-3.47 12.65,0L21,3V10.12zM12.5,8v4.25l3.5,2.08l-0.72,1.21L11,13V8H12.5z"/>
|
||||
</vector>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<vector android:height="24dp" android:tint="#00A6FF"
|
||||
<vector android:height="24dp"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM12,14.5v-9l6,4.5 -6,4.5z"/>
|
||||
<path android:fillColor="?android:textColorPrimary" android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM12,14.5v-9l6,4.5 -6,4.5z"/>
|
||||
</vector>
|
||||
|
|
|
|||
|
|
@ -10,26 +10,10 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/history_big_linearlayout">
|
||||
android:id="@+id/history_big_linearlayout"
|
||||
android:layout_marginTop="?attr/actionBarSize">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/history_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/history"
|
||||
app:menu="@menu/history_menu"
|
||||
/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/swiperefresh"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -117,4 +101,21 @@
|
|||
android:visibility="invisible"
|
||||
app:srcCompat="@drawable/ic_go_up"/>
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/history_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/history"
|
||||
app:menu="@menu/history_menu"
|
||||
/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
@ -11,27 +11,9 @@
|
|||
android:layout_height="match_parent"
|
||||
android:id="@+id/home_big_linearlayout"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
>
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/app_name"
|
||||
app:menu="@menu/main_menu"
|
||||
/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swiperefreshhome"
|
||||
android:layout_width="match_parent"
|
||||
|
|
@ -120,4 +102,20 @@
|
|||
android:visibility="invisible"
|
||||
app:srcCompat="@drawable/ic_go_up"/>
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/home_appbarlayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_scrollFlags="scroll|enterAlways|snap"
|
||||
app:title="@string/app_name"
|
||||
app:menu="@menu/main_menu"
|
||||
/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
@ -26,4 +26,10 @@
|
|||
<string name="download_notification_channel_name">Shkarkimet e Skedarëve</string>
|
||||
<string name="download_notification_channel_description">Njoftimi i cili tregon progresin e shkarkimeve te skedarëve audio dhe video</string>
|
||||
<string name="failed_making_directory">Dështim në krijimin e Direktorisë së re! :(</string>
|
||||
<string name="you_are_in_latest_version">Je ne versionin e fundit</string>
|
||||
<string name="ytld_update_success">Perditesimi u krye me sukses!</string>
|
||||
<string name="ytdl_update_failed">Deshtim ne perditesim</string>
|
||||
<string name="added_to_queue">U vendos në rradhë!</string>
|
||||
<string name="ytdl_already_updating">Duke u përditësuar. Prisni!</string>
|
||||
<string name="ytdl_updating_started">Filloi Perditesimi</string>
|
||||
</resources>
|
||||
|
|
@ -26,4 +26,10 @@
|
|||
<string name="download_notification_channel_name">File Downloads</string>
|
||||
<string name="download_notification_channel_description">Notification that shows the download progress of audio and video files</string>
|
||||
<string name="failed_making_directory">Failed to create the new Directory! :(</string>
|
||||
<string name="added_to_queue">Item added to the Queue!</string>
|
||||
<string name="you_are_in_latest_version">You are at the latest version</string>
|
||||
<string name="ytld_update_success">Updated Succesfully</string>
|
||||
<string name="ytdl_update_failed">Failed Updating</string>
|
||||
<string name="ytdl_already_updating">Updating in Progress! Please Wait!</string>
|
||||
<string name="ytdl_updating_started">Updating Started</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -9,15 +9,18 @@
|
|||
<PreferenceCategory app:title="@string/directories">
|
||||
<Preference
|
||||
app:key="music_path"
|
||||
app:icon="@drawable/ic_music_downloaded"
|
||||
app:title="@string/music_directory" />
|
||||
<Preference
|
||||
app:key="video_path"
|
||||
app:icon="@drawable/ic_video_downloaded"
|
||||
app:title="@string/video_directory" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/updating">
|
||||
<Preference
|
||||
app:key="update"
|
||||
app:icon="@drawable/ic_update"
|
||||
app:summary="@string/ytdl_update_hint"
|
||||
app:title="@string/update_ytdl" />
|
||||
</PreferenceCategory>
|
||||
|
|
@ -27,6 +30,7 @@
|
|||
|
||||
<Preference
|
||||
app:key="rreth"
|
||||
app:icon="@drawable/ic_code"
|
||||
app:summary="https://github.com/deniscerri/ytdlnis"
|
||||
app:title="@string/source_code">
|
||||
<intent
|
||||
|
|
|
|||
Loading…
Reference in a new issue