1
0
mirror of https://framagit.org/tom79/fedilab-tube synced 2025-04-24 15:08:41 +02:00

Improve channel creation

This commit is contained in:
Thomas 2020-09-12 16:53:04 +02:00
parent d8de74ce7a
commit d02fdba671
3 changed files with 84 additions and 69 deletions

View File

@ -15,6 +15,7 @@ package app.fedilab.fedilabtube;
* see <http://www.gnu.org/licenses>. */ * see <http://www.gnu.org/licenses>. */
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
@ -26,6 +27,7 @@ import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ListView; import android.widget.ListView;
@ -169,8 +171,14 @@ public class AllPlaylistsActivity extends AppCompatActivity {
display_name.setText(playlistToEdit.getDisplayName()); display_name.setText(playlistToEdit.getDisplayName());
description.setText(playlistToEdit.getDescription()); description.setText(playlistToEdit.getDescription());
} }
dialogBuilder.setPositiveButton(R.string.validate, null);
dialogBuilder.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.dismiss());
dialogBuilder.setPositiveButton(R.string.validate, (dialog, id) -> { AlertDialog alertDialog = dialogBuilder.create();
alertDialog.setOnShowListener(dialogInterface -> {
Button button = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
button.setOnClickListener(view -> {
if (display_name.getText() != null && display_name.getText().toString().trim().length() > 0) { if (display_name.getText() != null && display_name.getText().toString().trim().length() > 0) {
PlaylistElement playlistElement = new PlaylistElement(); PlaylistElement playlistElement = new PlaylistElement();
playlistElement.setDisplayName(display_name.getText().toString().trim()); playlistElement.setDisplayName(display_name.getText().toString().trim());
@ -183,7 +191,7 @@ public class AllPlaylistsActivity extends AppCompatActivity {
Map.Entry<Integer, String> privacyM = privacyToSend.entrySet().iterator().next(); Map.Entry<Integer, String> privacyM = privacyToSend.entrySet().iterator().next();
idPrivacy = String.valueOf(privacyM.getKey()); idPrivacy = String.valueOf(privacyM.getKey());
label = privacyM.getValue(); label = privacyM.getValue();
if ((label.equals("Public") && (playlistElement.getVideoChannelId() == null || playlistElement.getVideoChannelId().equals("")))) { if ((label.trim().compareTo("Public") == 0 && (playlistElement.getVideoChannelId() == null || playlistElement.getVideoChannelId().trim().compareTo("null") == 0))) {
Toasty.error(AllPlaylistsActivity.this, getString(R.string.error_channel_mandatory), Toast.LENGTH_LONG).show(); Toasty.error(AllPlaylistsActivity.this, getString(R.string.error_channel_mandatory), Toast.LENGTH_LONG).show();
} else { } else {
if (privacyToSend != null) { if (privacyToSend != null) {
@ -231,14 +239,14 @@ public class AllPlaylistsActivity extends AppCompatActivity {
mainHandler.post(myRunnable); mainHandler.post(myRunnable);
} }
}).start(); }).start();
dialog.dismiss(); alertDialog.dismiss();
} }
} else { } else {
Toasty.error(AllPlaylistsActivity.this, getString(R.string.error_display_name), Toast.LENGTH_LONG).show(); Toasty.error(AllPlaylistsActivity.this, getString(R.string.error_display_name), Toast.LENGTH_LONG).show();
} }
}); });
dialogBuilder.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.dismiss()); });
AlertDialog alertDialog = dialogBuilder.create();
if (playlistToEdit == null) { if (playlistToEdit == null) {
alertDialog.setTitle(getString(R.string.action_playlist_create)); alertDialog.setTitle(getString(R.string.action_playlist_create));
} else { } else {
@ -320,6 +328,8 @@ public class AllPlaylistsActivity extends AppCompatActivity {
if (pair != null) { if (pair != null) {
set_upload_privacy.setSelection(pair.getKey() - 1); set_upload_privacy.setSelection(pair.getKey() - 1);
} }
} else {
set_upload_privacy.setSelection(2);
} }
//Manage privacies //Manage privacies

View File

@ -119,6 +119,11 @@ public class PlaylistAdapter extends BaseAdapter {
context.startActivity(intent); context.startActivity(intent);
}); });
if (playlist.getDisplayName().compareTo("Watch later") == 0) {
holder.playlist_more.setVisibility(View.GONE);
} else {
holder.playlist_more.setVisibility(View.VISIBLE);
}
holder.playlist_more.setOnClickListener(v -> { holder.playlist_more.setOnClickListener(v -> {
PopupMenu popup = new PopupMenu(context, holder.playlist_more); PopupMenu popup = new PopupMenu(context, holder.playlist_more);

View File

@ -154,7 +154,7 @@
<string name="action_playlist_create">Créer une liste de lecture</string> <string name="action_playlist_create">Créer une liste de lecture</string>
<string name="action_playlist_edit">Modifier une liste de lecture</string> <string name="action_playlist_edit">Modifier une liste de lecture</string>
<string name="display_name">Nom d\'affichage</string> <string name="display_name">Nom d\'affichage</string>
<string name="error_channel_mandatory">Un canal est requis lorsque la liste de lecture est publique.</string> <string name="error_channel_mandatory">Une chaîne est requise lorsque la liste de lecture est publique.</string>
<string name="error_display_name">Vous devez fournir un nom d\'affichage !</string> <string name="error_display_name">Vous devez fournir un nom d\'affichage !</string>
<string name="error_display_name_channel">Vous devez fournir un nom d\'affichage et un nom pour la chaîne!</string> <string name="error_display_name_channel">Vous devez fournir un nom d\'affichage et un nom pour la chaîne!</string>
<string name="action_playlist_empty_content">Cette liste de lecture est vide.</string> <string name="action_playlist_empty_content">Cette liste de lecture est vide.</string>