Loading app/src/main/java/app/fedilab/android/BaseMainActivity.java +24 −11 Original line number Diff line number Diff line Loading @@ -586,7 +586,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } Handler mainHandler = new Handler(Looper.getMainLooper()); Runnable myRunnable = () -> { if (currentAccount == null) { if (currentAccount == null || currentAccount.mastodon_account == null) { //It is not, the user is redirected to the login page Intent myIntent = new Intent(BaseMainActivity.this, LoginActivity.class); startActivity(myIntent); Loading Loading @@ -701,6 +701,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt new ViewModelProvider(BaseMainActivity.this).get(AccountsVM.class).getConnectedAccount(currentInstance, currentToken) .observe(BaseMainActivity.this, mastodonAccount -> { //Initialize static var if (mastodonAccount != null) { currentAccount.mastodon_account = mastodonAccount; displayReleaseNotesIfNeeded(BaseMainActivity.this, false); new Thread(() -> { Loading @@ -711,6 +712,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt e.printStackTrace(); } }).start(); } }); }; Loading Loading @@ -1035,6 +1037,17 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt Matcher matcherLink = null; matcherLink = link.matcher(url); if (matcherLink.find()) { if (currentAccount == null) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(BaseMainActivity.this); if (currentToken == null || currentToken.trim().isEmpty()) { currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null); } try { currentAccount = new Account(BaseMainActivity.this).getConnectedAccount(); } catch (DBException e) { e.printStackTrace(); } } if (matcherLink.group(3) != null && Objects.requireNonNull(matcherLink.group(3)).length() > 0) { //It's a toot CrossActionHelper.fetchRemoteStatus(BaseMainActivity.this, currentAccount, url, new CrossActionHelper.Callback() { @Override Loading app/src/main/java/app/fedilab/android/activities/FilterActivity.java +4 −0 Original line number Diff line number Diff line Loading @@ -277,7 +277,11 @@ public class FilterActivity extends BaseActivity implements FilterAdapter.Delete binding.addFilter.setOnClickListener(v -> addEditFilter(FilterActivity.this, null, filter -> { if (filter != null) { if (MainActivity.mainFilters == null) { MainActivity.mainFilters = new ArrayList<>(); } filterList.add(0, filter); MainActivity.mainFilters.add(filter); if (filterAdapter != null) { filterAdapter.notifyItemInserted(0); } else { Loading app/src/main/java/app/fedilab/android/helper/Helper.java +1 −1 Original line number Diff line number Diff line Loading @@ -1029,7 +1029,7 @@ public class Helper { final Activity activity = (Activity) context; return !activity.isDestroyed() && !activity.isFinishing(); } return true; return false; } /** Loading app/src/main/java/app/fedilab/android/ui/drawer/FilterAdapter.java +2 −2 Original line number Diff line number Diff line Loading @@ -78,14 +78,14 @@ public class FilterAdapter extends RecyclerView.Adapter<FilterAdapter.FilterView contextString.append(ct).append(" "); holder.binding.filterContext.setText(contextString.toString()); holder.binding.editFilter.setOnClickListener(v -> FilterActivity.addEditFilter(context, filter, filter1 -> { if (filter1 != null) { if (filter1 != null && BaseMainActivity.mainFilters.size() > position) { BaseMainActivity.mainFilters.get(position).context = filter1.context; BaseMainActivity.mainFilters.get(position).expires_at = filter1.expires_at; BaseMainActivity.mainFilters.get(position).filter_action = filter1.filter_action; BaseMainActivity.mainFilters.get(position).keywords = filter1.keywords; BaseMainActivity.mainFilters.get(position).title = filter1.title; } filterAdapter.notifyItemChanged(position); } })); holder.binding.deleteFilter.setOnClickListener(v -> { AlertDialog.Builder builder = new AlertDialog.Builder(context, Helper.dialogStyle()); Loading app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +15 −3 Original line number Diff line number Diff line Loading @@ -1611,7 +1611,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> .observe((LifecycleOwner) context, poll -> { int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading @@ -1627,7 +1631,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> if (poll != null) { int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading @@ -1642,7 +1650,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> //Store span elements int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading Loading
app/src/main/java/app/fedilab/android/BaseMainActivity.java +24 −11 Original line number Diff line number Diff line Loading @@ -586,7 +586,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } Handler mainHandler = new Handler(Looper.getMainLooper()); Runnable myRunnable = () -> { if (currentAccount == null) { if (currentAccount == null || currentAccount.mastodon_account == null) { //It is not, the user is redirected to the login page Intent myIntent = new Intent(BaseMainActivity.this, LoginActivity.class); startActivity(myIntent); Loading Loading @@ -701,6 +701,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt new ViewModelProvider(BaseMainActivity.this).get(AccountsVM.class).getConnectedAccount(currentInstance, currentToken) .observe(BaseMainActivity.this, mastodonAccount -> { //Initialize static var if (mastodonAccount != null) { currentAccount.mastodon_account = mastodonAccount; displayReleaseNotesIfNeeded(BaseMainActivity.this, false); new Thread(() -> { Loading @@ -711,6 +712,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt e.printStackTrace(); } }).start(); } }); }; Loading Loading @@ -1035,6 +1037,17 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt Matcher matcherLink = null; matcherLink = link.matcher(url); if (matcherLink.find()) { if (currentAccount == null) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(BaseMainActivity.this); if (currentToken == null || currentToken.trim().isEmpty()) { currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null); } try { currentAccount = new Account(BaseMainActivity.this).getConnectedAccount(); } catch (DBException e) { e.printStackTrace(); } } if (matcherLink.group(3) != null && Objects.requireNonNull(matcherLink.group(3)).length() > 0) { //It's a toot CrossActionHelper.fetchRemoteStatus(BaseMainActivity.this, currentAccount, url, new CrossActionHelper.Callback() { @Override Loading
app/src/main/java/app/fedilab/android/activities/FilterActivity.java +4 −0 Original line number Diff line number Diff line Loading @@ -277,7 +277,11 @@ public class FilterActivity extends BaseActivity implements FilterAdapter.Delete binding.addFilter.setOnClickListener(v -> addEditFilter(FilterActivity.this, null, filter -> { if (filter != null) { if (MainActivity.mainFilters == null) { MainActivity.mainFilters = new ArrayList<>(); } filterList.add(0, filter); MainActivity.mainFilters.add(filter); if (filterAdapter != null) { filterAdapter.notifyItemInserted(0); } else { Loading
app/src/main/java/app/fedilab/android/helper/Helper.java +1 −1 Original line number Diff line number Diff line Loading @@ -1029,7 +1029,7 @@ public class Helper { final Activity activity = (Activity) context; return !activity.isDestroyed() && !activity.isFinishing(); } return true; return false; } /** Loading
app/src/main/java/app/fedilab/android/ui/drawer/FilterAdapter.java +2 −2 Original line number Diff line number Diff line Loading @@ -78,14 +78,14 @@ public class FilterAdapter extends RecyclerView.Adapter<FilterAdapter.FilterView contextString.append(ct).append(" "); holder.binding.filterContext.setText(contextString.toString()); holder.binding.editFilter.setOnClickListener(v -> FilterActivity.addEditFilter(context, filter, filter1 -> { if (filter1 != null) { if (filter1 != null && BaseMainActivity.mainFilters.size() > position) { BaseMainActivity.mainFilters.get(position).context = filter1.context; BaseMainActivity.mainFilters.get(position).expires_at = filter1.expires_at; BaseMainActivity.mainFilters.get(position).filter_action = filter1.filter_action; BaseMainActivity.mainFilters.get(position).keywords = filter1.keywords; BaseMainActivity.mainFilters.get(position).title = filter1.title; } filterAdapter.notifyItemChanged(position); } })); holder.binding.deleteFilter.setOnClickListener(v -> { AlertDialog.Builder builder = new AlertDialog.Builder(context, Helper.dialogStyle()); Loading
app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +15 −3 Original line number Diff line number Diff line Loading @@ -1611,7 +1611,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> .observe((LifecycleOwner) context, poll -> { int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading @@ -1627,7 +1631,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> if (poll != null) { int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading @@ -1642,7 +1650,11 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> //Store span elements int i = 0; for (Poll.PollItem item : statusToDeal.poll.options) { if (item.span_title != null) { poll.options.get(i).span_title = item.span_title; } else { poll.options.get(i).span_title = new SpannableString(item.title); } i++; } statusToDeal.poll = poll; Loading