Loading app/src/main/java/app/fedilab/android/peertube/activities/ManageInstancesActivity.java +9 −3 Original line number Diff line number Diff line Loading @@ -53,14 +53,13 @@ import app.fedilab.android.sqlite.Sqlite; import es.dmoral.toasty.Toasty; public class ManageInstancesActivity extends BaseBarActivity implements AboutInstanceAdapter.AllInstancesRemoved { public class ManageInstancesActivity extends BaseBarActivity implements AboutInstanceAdapter.InstanceActions { private ActivityManageInstancesPeertubeBinding binding; private List<InstanceData.AboutInstance> aboutInstances; private AboutInstanceAdapter aboutInstanceAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading Loading @@ -108,6 +107,7 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns this.runOnUiThread(() -> { dialog.dismiss(); recreatePeertubeActivity(this); finish(); }); } else { runOnUiThread(() -> Toasty.error(this, getString(R.string.not_valide_instance), Toast.LENGTH_LONG).show()); Loading @@ -128,7 +128,7 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns }); aboutInstances = new ArrayList<>(); aboutInstanceAdapter = new AboutInstanceAdapter(this.aboutInstances); aboutInstanceAdapter.allInstancesRemoved = this; aboutInstanceAdapter.instanceActions = this; binding.lvInstances.setAdapter(aboutInstanceAdapter); LinearLayoutManager layoutManager = new LinearLayoutManager(ManageInstancesActivity.this); Loading Loading @@ -172,4 +172,10 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns binding.noAction.setVisibility(View.VISIBLE); binding.lvInstances.setVisibility(View.GONE); } @Override public void onFinished() { recreatePeertubeActivity(this); finish(); } } app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java +5 −1 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { private DisplayOverviewFragment overviewFragment; private ActivityMainPeertubeBinding binding; private boolean keepRemote = false; private final BroadcastReceiver broadcast_data = new BroadcastReceiver() { @Override Loading @@ -128,6 +129,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { Bundle b = intent.getExtras(); if (b != null) { if (b.getBoolean(app.fedilab.android.mastodon.helper.Helper.RECEIVE_RECREATE_PEERTUBE_ACTIVITY, false)) { keepRemote = true; recreate(); } } Loading @@ -147,7 +149,9 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { public void onDestroy() { super.onDestroy(); binding = null; if (!keepRemote) { typeOfConnection = TypeOfConnection.NORMAL; } LocalBroadcastManager.getInstance(PeertubeMainActivity.this).unregisterReceiver(broadcast_data); } Loading app/src/main/java/app/fedilab/android/peertube/drawer/AboutInstanceAdapter.java +9 −7 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package app.fedilab.android.peertube.drawer; import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; import static app.fedilab.android.mastodon.helper.Helper.PREF_USER_INSTANCE; import static app.fedilab.android.mastodon.helper.Helper.PREF_USER_INSTANCE_PEERTUBE_BROWSING; import android.annotation.SuppressLint; import android.content.Context; Loading Loading @@ -53,7 +53,7 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View private final List<InstanceData.AboutInstance> aboutInstances; public AllInstancesRemoved allInstancesRemoved; public InstanceActions instanceActions; private Context context; public AboutInstanceAdapter(List<InstanceData.AboutInstance> aboutInstances) { Loading Loading @@ -126,12 +126,12 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View } holder.binding.aboutInstanceName.setText(aboutInstance.getName()); holder.binding.instanceContainer.setOnClickListener(v -> { holder.binding.pickup.setOnClickListener(v -> { final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString(PREF_USER_INSTANCE, aboutInstance.getHost()); editor.putString(PREF_USER_INSTANCE_PEERTUBE_BROWSING, aboutInstance.getHost()); editor.commit(); //Helper.logoutNoRemoval((Activity) context); instanceActions.onFinished(); }); holder.binding.instanceMore.setOnClickListener(v -> { PopupMenu popup = new PopupMenu(context, holder.binding.instanceMore); Loading @@ -153,7 +153,7 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View Runnable myRunnable = () -> { notifyItemRemoved(i); if (aboutInstances.size() == 0) { allInstancesRemoved.onAllInstancesRemoved(); instanceActions.onAllInstancesRemoved(); } }; mainHandler.post(myRunnable); Loading @@ -170,8 +170,10 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View }); } public interface AllInstancesRemoved { public interface InstanceActions { void onAllInstancesRemoved(); void onFinished(); } static class ViewHolder extends RecyclerView.ViewHolder { Loading app/src/main/res/layouts/peertube/layout/drawer_about_instance_peertube.xml +13 −1 Original line number Diff line number Diff line Loading @@ -18,16 +18,18 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/instance_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="?android:dividerHorizontal" android:orientation="vertical" android:clickable="true" android:focusable="true" android:showDividers="end"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/instance_container" android:layout_marginTop="5dp" android:layout_marginBottom="5dp"> Loading Loading @@ -74,5 +76,15 @@ android:src="@drawable/ic_baseline_more_vert_24" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> <com.google.android.material.button.MaterialButton android:id="@+id/pickup" style="@style/Widget.Material3.Button.ElevatedButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:text="@string/pickup_instance" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/about_instance_description" /> </androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout> Loading
app/src/main/java/app/fedilab/android/peertube/activities/ManageInstancesActivity.java +9 −3 Original line number Diff line number Diff line Loading @@ -53,14 +53,13 @@ import app.fedilab.android.sqlite.Sqlite; import es.dmoral.toasty.Toasty; public class ManageInstancesActivity extends BaseBarActivity implements AboutInstanceAdapter.AllInstancesRemoved { public class ManageInstancesActivity extends BaseBarActivity implements AboutInstanceAdapter.InstanceActions { private ActivityManageInstancesPeertubeBinding binding; private List<InstanceData.AboutInstance> aboutInstances; private AboutInstanceAdapter aboutInstanceAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading Loading @@ -108,6 +107,7 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns this.runOnUiThread(() -> { dialog.dismiss(); recreatePeertubeActivity(this); finish(); }); } else { runOnUiThread(() -> Toasty.error(this, getString(R.string.not_valide_instance), Toast.LENGTH_LONG).show()); Loading @@ -128,7 +128,7 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns }); aboutInstances = new ArrayList<>(); aboutInstanceAdapter = new AboutInstanceAdapter(this.aboutInstances); aboutInstanceAdapter.allInstancesRemoved = this; aboutInstanceAdapter.instanceActions = this; binding.lvInstances.setAdapter(aboutInstanceAdapter); LinearLayoutManager layoutManager = new LinearLayoutManager(ManageInstancesActivity.this); Loading Loading @@ -172,4 +172,10 @@ public class ManageInstancesActivity extends BaseBarActivity implements AboutIns binding.noAction.setVisibility(View.VISIBLE); binding.lvInstances.setVisibility(View.GONE); } @Override public void onFinished() { recreatePeertubeActivity(this); finish(); } }
app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java +5 −1 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { private DisplayOverviewFragment overviewFragment; private ActivityMainPeertubeBinding binding; private boolean keepRemote = false; private final BroadcastReceiver broadcast_data = new BroadcastReceiver() { @Override Loading @@ -128,6 +129,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { Bundle b = intent.getExtras(); if (b != null) { if (b.getBoolean(app.fedilab.android.mastodon.helper.Helper.RECEIVE_RECREATE_PEERTUBE_ACTIVITY, false)) { keepRemote = true; recreate(); } } Loading @@ -147,7 +149,9 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { public void onDestroy() { super.onDestroy(); binding = null; if (!keepRemote) { typeOfConnection = TypeOfConnection.NORMAL; } LocalBroadcastManager.getInstance(PeertubeMainActivity.this).unregisterReceiver(broadcast_data); } Loading
app/src/main/java/app/fedilab/android/peertube/drawer/AboutInstanceAdapter.java +9 −7 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package app.fedilab.android.peertube.drawer; import static androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY; import static app.fedilab.android.mastodon.helper.Helper.PREF_USER_INSTANCE; import static app.fedilab.android.mastodon.helper.Helper.PREF_USER_INSTANCE_PEERTUBE_BROWSING; import android.annotation.SuppressLint; import android.content.Context; Loading Loading @@ -53,7 +53,7 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View private final List<InstanceData.AboutInstance> aboutInstances; public AllInstancesRemoved allInstancesRemoved; public InstanceActions instanceActions; private Context context; public AboutInstanceAdapter(List<InstanceData.AboutInstance> aboutInstances) { Loading Loading @@ -126,12 +126,12 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View } holder.binding.aboutInstanceName.setText(aboutInstance.getName()); holder.binding.instanceContainer.setOnClickListener(v -> { holder.binding.pickup.setOnClickListener(v -> { final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString(PREF_USER_INSTANCE, aboutInstance.getHost()); editor.putString(PREF_USER_INSTANCE_PEERTUBE_BROWSING, aboutInstance.getHost()); editor.commit(); //Helper.logoutNoRemoval((Activity) context); instanceActions.onFinished(); }); holder.binding.instanceMore.setOnClickListener(v -> { PopupMenu popup = new PopupMenu(context, holder.binding.instanceMore); Loading @@ -153,7 +153,7 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View Runnable myRunnable = () -> { notifyItemRemoved(i); if (aboutInstances.size() == 0) { allInstancesRemoved.onAllInstancesRemoved(); instanceActions.onAllInstancesRemoved(); } }; mainHandler.post(myRunnable); Loading @@ -170,8 +170,10 @@ public class AboutInstanceAdapter extends RecyclerView.Adapter<RecyclerView.View }); } public interface AllInstancesRemoved { public interface InstanceActions { void onAllInstancesRemoved(); void onFinished(); } static class ViewHolder extends RecyclerView.ViewHolder { Loading
app/src/main/res/layouts/peertube/layout/drawer_about_instance_peertube.xml +13 −1 Original line number Diff line number Diff line Loading @@ -18,16 +18,18 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/instance_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="?android:dividerHorizontal" android:orientation="vertical" android:clickable="true" android:focusable="true" android:showDividers="end"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/instance_container" android:layout_marginTop="5dp" android:layout_marginBottom="5dp"> Loading Loading @@ -74,5 +76,15 @@ android:src="@drawable/ic_baseline_more_vert_24" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> <com.google.android.material.button.MaterialButton android:id="@+id/pickup" style="@style/Widget.Material3.Button.ElevatedButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:text="@string/pickup_instance" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/about_instance_description" /> </androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout>