summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/SelectSubscriptionActivity.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java195
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/MainPreferencesFragment.java25
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java43
9 files changed, 77 insertions, 200 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/SelectSubscriptionActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/SelectSubscriptionActivity.java
index 4ffed949e..52293091e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/SelectSubscriptionActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/SelectSubscriptionActivity.java
@@ -118,7 +118,7 @@ public class SelectSubscriptionActivity extends AppCompatActivity {
Glide.with(this)
.asBitmap()
.load(feed.getImageUrl())
- .apply(new RequestOptions().override(iconSize, iconSize))
+ .apply(RequestOptions.overrideOf(iconSize, iconSize))
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model,
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
index 82b1c0d00..20a50308f 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
@@ -108,7 +108,7 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte
.apply(new RequestOptions()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.dontAnimate()
- .transforms(new FitCenter(), new RoundedCorners((int)
+ .transform(new FitCenter(), new RoundedCorners((int)
(4 * context.getResources().getDisplayMetrics().density))))
.into(holder.image);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
index 40c2029d6..9b514dd98 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
@@ -85,7 +85,7 @@ public class ItunesAdapter extends ArrayAdapter<PodcastSearchResult> {
.apply(new RequestOptions()
.placeholder(R.color.light_gray)
.diskCacheStrategy(DiskCacheStrategy.NONE)
- .transforms(new FitCenter(),
+ .transform(new FitCenter(),
new RoundedCorners((int) (4 * context.getResources().getDisplayMetrics().density)))
.dontAnimate())
.into(viewHolder.coverView);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java
index 2d448faa8..5b030f0c2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java
@@ -310,7 +310,7 @@ public class CoverFragment extends Fragment {
RequestOptions options = new RequestOptions()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.dontAnimate()
- .transforms(new FitCenter(),
+ .transform(new FitCenter(),
new RoundedCorners((int) (16 * getResources().getDisplayMetrics().density)));
RequestBuilder<Drawable> cover = Glide.with(this)
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
index 067e7466c..9d5376c2a 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
@@ -49,9 +49,9 @@ public class InboxFragment extends EpisodesListFragment implements Toolbar.OnMen
@NonNull
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View inboxContainer = View.inflate(getContext(), R.layout.inbox_fragment, null);
+ View inboxContainer = View.inflate(getContext(), R.layout.list_container_fragment, null);
View root = super.onCreateView(inflater, container, savedInstanceState);
- ((FrameLayout) inboxContainer.findViewById(R.id.inboxContent)).addView(root);
+ ((FrameLayout) inboxContainer.findViewById(R.id.listContent)).addView(root);
emptyView.setTitle(R.string.no_inbox_head_label);
emptyView.setMessage(R.string.no_inbox_label);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 83dc0c554..3bdc0e49f 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -293,7 +293,7 @@ public class ItemFragment extends Fragment {
RequestOptions options = new RequestOptions()
.error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
- .transforms(new FitCenter(),
+ .transform(new FitCenter(),
new RoundedCorners((int) (4 * getResources().getDisplayMetrics().density)))
.dontAnimate();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
index 857b59967..8bcef4181 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
@@ -1,57 +1,36 @@
package de.danoeh.antennapod.fragment;
import android.os.Bundle;
-import android.util.Log;
import android.view.ContextMenu;
-import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ProgressBar;
+import android.widget.FrameLayout;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
-import androidx.fragment.app.Fragment;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
-import de.danoeh.antennapod.core.event.DownloadEvent;
-import de.danoeh.antennapod.core.event.DownloaderUpdate;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
-import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.playback.PlaybackHistoryEvent;
-import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
-import de.danoeh.antennapod.core.util.FeedItemUtil;
-import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
-import de.danoeh.antennapod.view.EmptyViewHandler;
-import de.danoeh.antennapod.view.EpisodeItemListRecyclerView;
-import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
-import io.reactivex.Observable;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
-public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuItemClickListener {
+public class PlaybackHistoryFragment extends EpisodesListFragment implements Toolbar.OnMenuItemClickListener {
public static final String TAG = "PlaybackHistoryFragment";
private static final String KEY_UP_ARROW = "up_arrow";
- private List<FeedItem> playbackHistory;
- private PlaybackHistoryListAdapter adapter;
- private Disposable disposable;
- private EpisodeItemListRecyclerView recyclerView;
- private EmptyViewHandler emptyView;
- private ProgressBar progressBar;
private Toolbar toolbar;
private boolean displayUpArrow;
@@ -64,8 +43,12 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.simple_list_fragment, container, false);
- toolbar = root.findViewById(R.id.toolbar);
+ View historyContainer = View.inflate(getContext(), R.layout.list_container_fragment, null);
+ View root = super.onCreateView(inflater, container, savedInstanceState);
+
+ ((FrameLayout) historyContainer.findViewById(R.id.listContent)).addView(root);
+
+ toolbar = historyContainer.findViewById(R.id.toolbar);
toolbar.setTitle(R.string.playback_history_label);
toolbar.setOnMenuItemClickListener(this);
displayUpArrow = getParentFragmentManager().getBackStackEntryCount() != 0;
@@ -76,34 +59,14 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
toolbar.inflateMenu(R.menu.playback_history);
refreshToolbarState();
- recyclerView = root.findViewById(R.id.recyclerView);
- recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
- adapter = new PlaybackHistoryListAdapter((MainActivity) getActivity());
- recyclerView.setAdapter(adapter);
- progressBar = root.findViewById(R.id.progLoading);
+ listAdapter = new PlaybackHistoryListAdapter((MainActivity) getActivity());
+ recyclerView.setAdapter(listAdapter);
- emptyView = new EmptyViewHandler(getActivity());
emptyView.setIcon(R.drawable.ic_history);
emptyView.setTitle(R.string.no_history_head_label);
emptyView.setMessage(R.string.no_history_label);
- emptyView.attachToRecyclerView(recyclerView);
- return root;
- }
-
- @Override
- public void onStart() {
- super.onStart();
- EventBus.getDefault().register(this);
- loadItems();
- }
- @Override
- public void onStop() {
- super.onStop();
- EventBus.getDefault().unregister(this);
- if (disposable != null) {
- disposable.dispose();
- }
+ return historyContainer;
}
@Override
@@ -112,55 +75,8 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
super.onSaveInstanceState(outState);
}
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventMainThread(FeedItemEvent event) {
- Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
- if (playbackHistory == null) {
- return;
- } else if (adapter == null) {
- loadItems();
- return;
- }
- for (int i = 0, size = event.items.size(); i < size; i++) {
- FeedItem item = event.items.get(i);
- int pos = FeedItemUtil.indexOfItemWithId(playbackHistory, item.getId());
- if (pos >= 0) {
- playbackHistory.remove(pos);
- playbackHistory.add(pos, item);
- adapter.notifyItemChangedCompat(pos);
- }
- }
- }
-
- @Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
- public void onEventMainThread(DownloadEvent event) {
- Log.d(TAG, "onEventMainThread() called with: " + "event = [" + event + "]");
- DownloaderUpdate update = event.update;
- if (adapter != null && update.mediaIds.length > 0) {
- for (long mediaId : update.mediaIds) {
- int pos = FeedItemUtil.indexOfItemWithMediaId(playbackHistory, mediaId);
- if (pos >= 0) {
- adapter.notifyItemChangedCompat(pos);
- }
- }
- }
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventMainThread(PlaybackPositionEvent event) {
- if (adapter != null) {
- for (int i = 0; i < adapter.getItemCount(); i++) {
- EpisodeItemViewHolder holder = (EpisodeItemViewHolder) recyclerView.findViewHolderForAdapterPosition(i);
- if (holder != null && holder.isCurrentlyPlayingItem()) {
- holder.notifyPlaybackPositionUpdated(event);
- break;
- }
- }
- }
- }
-
public void refreshToolbarState() {
- boolean hasHistory = playbackHistory != null && !playbackHistory.isEmpty();
+ boolean hasHistory = episodes != null && !episodes.isEmpty();
toolbar.getMenu().findItem(R.id.clear_history_item).setVisible(hasHistory);
}
@@ -173,33 +89,6 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
return false;
}
- @Override
- public boolean onContextItemSelected(@NonNull MenuItem item) {
- FeedItem selectedItem = adapter.getLongPressedItem();
- if (selectedItem == null) {
- Log.i(TAG, "Selected item at current position was null, ignoring selection");
- return super.onContextItemSelected(item);
- }
- return FeedItemMenuHandler.onMenuItemClicked(this, item.getItemId(), selectedItem);
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onKeyUp(KeyEvent event) {
- if (!isAdded() || !isVisible() || !isMenuVisible()) {
- return;
- }
- switch (event.getKeyCode()) {
- case KeyEvent.KEYCODE_T:
- recyclerView.smoothScrollToPosition(0);
- break;
- case KeyEvent.KEYCODE_B:
- recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
- break;
- default:
- break;
- }
- }
-
@Subscribe(threadMode = ThreadMode.MAIN)
public void onHistoryUpdated(PlaybackHistoryEvent event) {
loadItems();
@@ -212,41 +101,20 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
refreshToolbarState();
}
+ @Override
@Subscribe(threadMode = ThreadMode.MAIN)
public void onUnreadItemsChanged(UnreadItemsUpdateEvent event) {
loadItems();
refreshToolbarState();
}
- private void onFragmentLoaded() {
- adapter.notifyDataSetChanged();
+ @Override
+ protected void onFragmentLoaded(List<FeedItem> episodes) {
+ super.onFragmentLoaded(episodes);
+ listAdapter.notifyDataSetChanged();
refreshToolbarState();
}
- private void loadItems() {
- if (disposable != null) {
- disposable.dispose();
- }
- progressBar.setVisibility(View.VISIBLE);
- emptyView.hide();
- disposable = Observable.fromCallable(this::loadData)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(result -> {
- progressBar.setVisibility(View.GONE);
- playbackHistory = result;
- adapter.updateItems(playbackHistory);
- onFragmentLoaded();
- }, error -> Log.e(TAG, Log.getStackTraceString(error)));
- }
-
- @NonNull
- private List<FeedItem> loadData() {
- List<FeedItem> history = DBReader.getPlaybackHistory();
- DBReader.loadAdditionalFeedItemListData(history);
- return history;
- }
-
private class PlaybackHistoryListAdapter extends EpisodeItemListAdapter {
public PlaybackHistoryListAdapter(MainActivity mainActivity) {
@@ -254,17 +122,26 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
}
@Override
- protected void afterBindViewHolder(EpisodeItemViewHolder holder, int pos) {
- // played items shouldn't be transparent for this fragment since, *all* items
- // in this fragment will, by definition, be played. So it serves no purpose and can make
- // it harder to read.
- holder.itemView.setAlpha(1.0f);
- }
-
- @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuItemUtils.setOnClickListeners(menu, PlaybackHistoryFragment.this::onContextItemSelected);
}
}
+
+ @NonNull
+ @Override
+ protected List<FeedItem> loadData() {
+ return DBReader.getPlaybackHistory(0, page * EPISODES_PER_PAGE);
+ }
+
+ @NonNull
+ @Override
+ protected List<FeedItem> loadMoreData(int page) {
+ return DBReader.getPlaybackHistory((page - 1) * EPISODES_PER_PAGE, EPISODES_PER_PAGE);
+ }
+
+ @Override
+ protected int loadTotalItemCount() {
+ return (int) DBReader.getPlaybackHistoryLength();
+ }
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/MainPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/MainPreferencesFragment.java
index e2c5036df..7f5205db4 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/MainPreferencesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/MainPreferencesFragment.java
@@ -17,6 +17,13 @@ import de.danoeh.antennapod.activity.BugReportActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.fragment.preferences.about.AboutFragment;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.ArrayUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.Locale;
public class MainPreferencesFragment extends PreferenceFragmentCompat {
@@ -106,7 +113,7 @@ public class MainPreferencesFragment extends PreferenceFragmentCompat {
}
);
findPreference(PREF_DOCUMENTATION).setOnPreferenceClickListener(preference -> {
- IntentUtils.openInBrowser(getContext(), "https://antennapod.org/documentation/");
+ IntentUtils.openInBrowser(getContext(), getLocalizedWebsiteLink() + "/documentation/");
return true;
});
findPreference(PREF_VIEW_FORUM).setOnPreferenceClickListener(preference -> {
@@ -114,7 +121,7 @@ public class MainPreferencesFragment extends PreferenceFragmentCompat {
return true;
});
findPreference(PREF_CONTRIBUTE).setOnPreferenceClickListener(preference -> {
- IntentUtils.openInBrowser(getContext(), "https://antennapod.org/contribute/");
+ IntentUtils.openInBrowser(getContext(), getLocalizedWebsiteLink() + "/contribute/");
return true;
});
findPreference(PREF_SEND_BUG_REPORT).setOnPreferenceClickListener(preference -> {
@@ -123,6 +130,20 @@ public class MainPreferencesFragment extends PreferenceFragmentCompat {
});
}
+ private String getLocalizedWebsiteLink() {
+ try (InputStream is = getContext().getAssets().open("website-languages.txt")) {
+ String[] languages = IOUtils.toString(is, StandardCharsets.UTF_8.name()).split("\n");
+ String deviceLanguage = Locale.getDefault().getLanguage();
+ if (ArrayUtils.contains(languages, deviceLanguage) && !"en".equals(deviceLanguage)) {
+ return "https://antennapod.org/" + deviceLanguage;
+ } else {
+ return "https://antennapod.org";
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
private void setupSearch() {
SearchPreference searchPreference = findPreference("searchPreference");
SearchConfiguration config = searchPreference.getSearchConfiguration();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java
index 358985cea..e3e069868 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java
@@ -2,7 +2,6 @@ package de.danoeh.antennapod.fragment.preferences.synchronization;
import android.app.Dialog;
import android.content.Context;
-import android.graphics.Paint;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
@@ -12,31 +11,20 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
-import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.ViewFlipper;
-
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
-
import com.google.android.material.button.MaterialButton;
-import com.google.android.material.textfield.TextInputLayout;
-
-import java.util.List;
-import java.util.Locale;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.core.sync.SynchronizationCredentials;
import de.danoeh.antennapod.core.service.download.AntennapodHttpClient;
import de.danoeh.antennapod.core.sync.SyncService;
+import de.danoeh.antennapod.core.sync.SynchronizationCredentials;
import de.danoeh.antennapod.core.sync.SynchronizationProviderViewData;
import de.danoeh.antennapod.core.sync.SynchronizationSettings;
import de.danoeh.antennapod.core.util.FileNameGenerator;
-import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.net.sync.gpoddernet.GpodnetService;
import de.danoeh.antennapod.net.sync.gpoddernet.model.GpodnetDevice;
import io.reactivex.Completable;
@@ -44,6 +32,11 @@ import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
+import java.util.List;
+import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
/**
* Guides the user through the authentication process.
*/
@@ -70,7 +63,7 @@ public class GpodderAuthenticationFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
- dialog.setTitle(GpodnetService.DEFAULT_BASE_HOST);
+ dialog.setTitle(R.string.gpodnetauth_login_butLabel);
dialog.setNegativeButton(R.string.cancel_label, null);
dialog.setCancelable(false);
this.setCancelable(false);
@@ -85,23 +78,13 @@ public class GpodderAuthenticationFragment extends DialogFragment {
private void setupHostView(View view) {
final Button selectHost = view.findViewById(R.id.chooseHostButton);
- final RadioGroup serverRadioGroup = view.findViewById(R.id.serverRadioGroup);
final EditText serverUrlText = view.findViewById(R.id.serverUrlText);
-
- if (!GpodnetService.DEFAULT_BASE_HOST.equals(SynchronizationCredentials.getHosturl())) {
- serverUrlText.setText(SynchronizationCredentials.getHosturl());
- }
- final TextInputLayout serverUrlTextInput = view.findViewById(R.id.serverUrlTextInput);
- serverRadioGroup.setOnCheckedChangeListener((group, checkedId) -> {
- serverUrlTextInput.setVisibility(checkedId == R.id.customServerRadio ? View.VISIBLE : View.GONE);
- });
selectHost.setOnClickListener(v -> {
- SynchronizationCredentials.clear(getContext());
- if (serverRadioGroup.getCheckedRadioButtonId() == R.id.customServerRadio) {
- SynchronizationCredentials.setHosturl(serverUrlText.getText().toString());
- } else {
- SynchronizationCredentials.setHosturl(GpodnetService.DEFAULT_BASE_HOST);
+ if (serverUrlText.getText().length() == 0) {
+ return;
}
+ SynchronizationCredentials.clear(getContext());
+ SynchronizationCredentials.setHosturl(serverUrlText.getText().toString());
service = new GpodnetService(AntennapodHttpClient.getHttpClient(),
SynchronizationCredentials.getHosturl(), SynchronizationCredentials.getDeviceID(),
SynchronizationCredentials.getUsername(), SynchronizationCredentials.getPassword());
@@ -116,12 +99,8 @@ public class GpodderAuthenticationFragment extends DialogFragment {
final Button login = view.findViewById(R.id.butLogin);
final TextView txtvError = view.findViewById(R.id.credentialsError);
final ProgressBar progressBar = view.findViewById(R.id.progBarLogin);
- final TextView createAccount = view.findViewById(R.id.createAccountButton);
final TextView createAccountWarning = view.findViewById(R.id.createAccountWarning);
- createAccount.setPaintFlags(createAccount.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
- createAccount.setOnClickListener(v -> IntentUtils.openInBrowser(getContext(), "https://gpodder.net/register/"));
-
if (SynchronizationCredentials.getHosturl().startsWith("http://")) {
createAccountWarning.setVisibility(View.VISIBLE);
}