diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java index ccb8142c3..1a33c06de 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java @@ -243,6 +243,8 @@ public abstract class BaseStatusListFragment exten } private ImageStatusDisplayItem.Holder findPhotoViewHolder(int index){ + if(list==null) + return null; int offset=0; for(StatusDisplayItem item:displayItems){ if(item.parentID.equals(parentID)){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ThreadFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ThreadFragment.java index 24cd73fc2..e3b00be33 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ThreadFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ThreadFragment.java @@ -64,7 +64,8 @@ public class ThreadFragment extends StatusListFragment{ } result.descendants=filterStatuses(result.descendants); result.ancestors=filterStatuses(result.ancestors); - footerProgress.setVisibility(View.GONE); + if(footerProgress!=null) + footerProgress.setVisibility(View.GONE); data.addAll(result.descendants); int prevCount=displayItems.size(); onAppendItems(result.descendants); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/AccountActivationFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/AccountActivationFragment.java index cd73cc9b8..1db5fdddd 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/AccountActivationFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/AccountActivationFragment.java @@ -1,5 +1,6 @@ package org.joinmastodon.android.fragments.onboarding; +import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.res.Configuration; import android.os.Build; @@ -110,7 +111,11 @@ public class AccountActivationFragment extends AppKitFragment{ } private void onButtonClick(){ - startActivity(Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_EMAIL).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + try{ + startActivity(Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_EMAIL).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + }catch(ActivityNotFoundException x){ + Toast.makeText(getActivity(), R.string.no_app_to_handle_action, Toast.LENGTH_SHORT).show(); + } } private void onBackButtonClick(){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogFragment.java index b143fdf26..0e7774f59 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogFragment.java @@ -105,6 +105,8 @@ public class InstanceCatalogFragment extends BaseRecyclerFragment(){ @Override public void onSuccess(List result){ + if(getActivity()==null) + return; Map> byLang=result.stream().collect(Collectors.groupingBy(ci->ci.language)); for(List group:byLang.values()){ Collections.sort(group, (a, b)->{ diff --git a/mastodon/src/main/res/values/strings.xml b/mastodon/src/main/res/values/strings.xml index 1a87adc0c..42d80cc86 100644 --- a/mastodon/src/main/res/values/strings.xml +++ b/mastodon/src/main/res/values/strings.xml @@ -305,4 +305,5 @@ Error saving file File saved Downloading… + There\'s no app to handle this action \ No newline at end of file