From 0c65e97fcf341a5971e5ae9ad9089440d4561964 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 21 Dec 2018 10:28:38 +0000 Subject: [PATCH] Inject remaining fragments in onAttach(). --- .../conversation/AliasDialogFragment.java | 26 +++++++++++++------ .../android/conversation/ImageFragment.java | 9 ++++--- .../fragment/ScreenFilterDialogFragment.java | 9 +++---- .../android/settings/SettingsFragment.java | 11 ++++---- 4 files changed, 32 insertions(+), 23 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AliasDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AliasDialogFragment.java index bd669cd9e..daef5da00 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AliasDialogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AliasDialogFragment.java @@ -2,8 +2,9 @@ package org.briarproject.briar.android.conversation; import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; +import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.design.widget.TextInputLayout; import android.support.v7.app.AppCompatDialogFragment; import android.view.LayoutInflater; @@ -13,8 +14,10 @@ import android.widget.Button; import android.widget.EditText; import org.briarproject.bramble.api.contact.Contact; +import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; +import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; -import org.briarproject.briar.android.activity.BriarActivity; +import org.briarproject.briar.android.activity.BaseActivity; import javax.inject.Inject; @@ -22,6 +25,8 @@ import static java.util.Objects.requireNonNull; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; import static org.briarproject.bramble.util.StringUtils.toUtf8; +@MethodsNotNullByDefault +@ParametersNotNullByDefault public class AliasDialogFragment extends AppCompatDialogFragment { final static String TAG = AliasDialogFragment.class.getName(); @@ -38,20 +43,25 @@ public class AliasDialogFragment extends AppCompatDialogFragment { } @Override - public void onCreate(Bundle savedInstanceState) { + public void onAttach(Context ctx) { + super.onAttach(ctx); + ((BaseActivity) requireActivity()).getActivityComponent().inject(this); + } + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(STYLE_NO_TITLE, R.style.BriarDialogTheme); - BriarActivity a = (BriarActivity) requireNonNull(getActivity()); - a.getActivityComponent().inject(this); - viewModel = ViewModelProviders.of(getActivity(), viewModelFactory) + viewModel = ViewModelProviders.of(requireActivity(), viewModelFactory) .get(ConversationViewModel.class); } @Override - public View onCreateView(@NonNull LayoutInflater inflater, - ViewGroup container, Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, + @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_alias_dialog, container, false); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java index 6ab0d0b04..1d1b0d1fd 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java @@ -2,6 +2,7 @@ package org.briarproject.briar.android.conversation; import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; +import android.content.Context; import android.graphics.drawable.Animatable; import android.graphics.drawable.Drawable; import android.os.Bundle; @@ -55,10 +56,9 @@ public class ImageFragment extends Fragment { } @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - BaseActivity a = (BaseActivity) requireNonNull(getActivity()); - a.getActivityComponent().inject(this); + public void onAttach(Context ctx) { + super.onAttach(ctx); + ((BaseActivity) requireActivity()).getActivityComponent().inject(this); } @Override @@ -87,6 +87,7 @@ public class ImageFragment extends Fragment { // Request Listener RequestListener listener = new RequestListener() { + @Override public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, diff --git a/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java index b7c611665..f4247b162 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java @@ -3,6 +3,7 @@ package org.briarproject.briar.android.fragment; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Dialog; +import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; @@ -56,11 +57,9 @@ public class ScreenFilterDialogFragment extends DialogFragment { } @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - Activity activity = getActivity(); - if (activity == null) throw new IllegalStateException(); - ((BaseActivity) activity).getActivityComponent().inject(this); + public void onAttach(Context ctx) { + super.onAttach(ctx); + ((BaseActivity) requireActivity()).getActivityComponent().inject(this); } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index 1be93ebce..b8e46d569 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -153,8 +153,6 @@ public class SettingsFragment extends PreferenceFragmentCompat public void onAttach(Context context) { super.onAttach(context); listener = (SettingsActivity) context; - // we need to inject here, - // because onActivityCreated() is called after onCreatePreferences() listener.getActivityComponent().inject(this); } @@ -246,7 +244,7 @@ public class SettingsFragment extends PreferenceFragmentCompat Bundle savedInstanceState) { View view = super.onCreateView(inflater, container, savedInstanceState); ColorDrawable divider = new ColorDrawable( - ContextCompat.getColor(getContext(), R.color.divider)); + ContextCompat.getColor(requireContext(), R.color.divider)); setDivider(divider); return view; } @@ -486,8 +484,9 @@ public class SettingsFragment extends PreferenceFragmentCompat pref.setWidgetLayoutResource(0); pref.setSummary(summary); pref.setOnPreferenceClickListener(clickedPref -> { + String packageName = requireContext().getPackageName(); Intent intent = new Intent(ACTION_CHANNEL_NOTIFICATION_SETTINGS) - .putExtra(EXTRA_APP_PACKAGE, getContext().getPackageName()) + .putExtra(EXTRA_APP_PACKAGE, packageName) .putExtra(EXTRA_CHANNEL_ID, channelId); startActivity(intent); return true; @@ -580,8 +579,8 @@ public class SettingsFragment extends PreferenceFragmentCompat NavDrawerActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra(INTENT_SIGN_OUT, true); - getActivity().startActivity(intent); - getActivity().finish(); + requireActivity().startActivity(intent); + requireActivity().finish(); }); builder.setNegativeButton(R.string.cancel, null); builder.setCancelable(false);