Messaging: Convert further parts to androidx

CursorLoader, LoaderManager, Preferences, Fragments, ...

Change-Id: I8787b2db365249839547c6d5c21ab7cd5ff42082
This commit is contained in:
Michael W
2024-12-26 14:55:13 +01:00
parent d430161ca0
commit 1914db5ea4
44 changed files with 341 additions and 266 deletions
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,9 +17,10 @@
package com.android.messaging.ui;
import android.app.Activity;
import android.os.Bundle;
import androidx.fragment.app.FragmentActivity;
import com.android.messaging.util.BugleActivityUtil;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.UiUtils;
@@ -27,7 +29,7 @@ import com.android.messaging.util.UiUtils;
* Base class for app activities that would normally derive from Activity. Responsible for
* ensuring app requirements are met during onResume()
*/
public class BaseBugleActivity extends Activity {
public class BaseBugleActivity extends FragmentActivity {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +17,7 @@
package com.android.messaging.ui;
import android.app.Activity;
import androidx.fragment.app.FragmentActivity;
import com.android.messaging.util.BugleActivityUtil;
import com.android.messaging.util.LogUtil;
@@ -25,7 +26,7 @@ import com.android.messaging.util.LogUtil;
* Base class for app activities that would normally derive from FragmentActivity. Responsible for
* ensuring app requirements are met during onResume()
*/
public class BaseBugleFragmentActivity extends Activity {
public class BaseBugleFragmentActivity extends FragmentActivity {
@Override
protected void onResume() {
super.onResume();
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,17 +16,19 @@
*/
package com.android.messaging.ui;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import androidx.cursoradapter.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import androidx.cursoradapter.widget.CursorAdapter;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.binding.Binding;
import com.android.messaging.datamodel.binding.BindingBase;
@@ -58,7 +61,7 @@ public class BlockedParticipantsFragment extends Fragment
mAdapter = new BlockedParticipantListAdapter(getActivity(), null);
mListView.setAdapter(mAdapter);
mBinding.bind(DataModel.get().createBlockedParticipantsData(getActivity(), this));
mBinding.getData().init(getLoaderManager(), mBinding);
mBinding.getData().init(LoaderManager.getInstance(this), mBinding);
return view;
}
@@ -25,6 +25,7 @@ import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.ViewGroup;
import android.widget.FilterQueryProvider;
@@ -85,7 +86,8 @@ public abstract class CursorRecyclerAdapter<VH extends RecyclerView.ViewHolder>
* @deprecated This option is discouraged, as it results in Cursor queries
* being performed on the application's UI thread and thus can cause poor
* responsiveness or even Application Not Responding errors. As an alternative,
* use {@link android.app.LoaderManager} with a {@link android.content.CursorLoader}.
* use {@link androidx.loader.app.LoaderManager} with a
* {@link androidx.loader.content.CursorLoader}.
*/
@Deprecated
public static final int FLAG_AUTO_REQUERY = 0x01;
@@ -17,6 +17,7 @@
package com.android.messaging.ui;
import android.content.Context;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager.widget.ViewPager.OnPageChangeListener;
@@ -66,7 +67,7 @@ public class CustomHeaderViewPager extends LinearLayout {
final PagerAdapter adapter = new CustomHeaderViewPagerAdapter(viewHolders);
mViewPager.setAdapter(adapter);
mTabstrip.setViewPager(mViewPager);
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
mViewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrollStateChanged(int state) {
+2 -1
View File
@@ -17,7 +17,6 @@
package com.android.messaging.ui;
import android.app.Activity;
import android.app.Fragment;
import android.app.PendingIntent;
import android.content.ContentValues;
import android.content.Context;
@@ -27,6 +26,8 @@ import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import com.android.messaging.Factory;
import com.android.messaging.datamodel.data.MessageData;
import com.android.messaging.util.ConversationIdSet;
@@ -17,7 +17,6 @@
package com.android.messaging.ui;
import android.app.Activity;
import android.app.Fragment;
import android.app.PendingIntent;
import android.app.role.RoleManager;
import android.appwidget.AppWidgetManager;
@@ -36,6 +35,7 @@ import android.provider.MediaStore;
import androidx.annotation.Nullable;
import androidx.core.app.TaskStackBuilder;
import androidx.fragment.app.Fragment;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils;
@@ -16,12 +16,14 @@
*/
package com.android.messaging.ui;
import android.app.Fragment;
import android.net.Uri;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.R;
import com.android.messaging.util.Assert;
@@ -30,16 +32,19 @@ import com.android.messaging.util.Assert;
* An activity that hosts VCardDetailFragment that shows the content of a VCard that contains one
* or more contacts.
*/
public class VCardDetailActivity extends BugleActionBarActivity {
public class VCardDetailActivity extends BugleActionBarActivity
implements FragmentOnAttachListener {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportFragmentManager().addFragmentOnAttachListener(this);
setContentView(R.layout.vcard_detail_activity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull final Fragment fragment) {
if (fragment instanceof VCardDetailFragment) {
final Uri vCardUri =
getIntent().getParcelableExtra(UIIntents.UI_INTENT_EXTRA_VCARD_URI);
@@ -16,7 +16,6 @@
*/
package com.android.messaging.ui;
import android.app.Fragment;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
@@ -30,6 +29,9 @@ import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
import com.android.messaging.datamodel.MediaScratchFileProvider;
@@ -113,7 +115,8 @@ public class VCardDetailFragment extends Fragment implements PersonItemDataListe
}
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
public void onCreateOptionsMenu(@NonNull final Menu menu,
@NonNull final MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.vcard_detail_fragment_menu, menu);
final MenuItem addToContactsItem = menu.findItem(R.id.action_add_contact);
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,11 +17,15 @@
package com.android.messaging.ui;
import android.app.Fragment;
import android.appwidget.AppWidgetManager;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.Factory;
import com.android.messaging.datamodel.data.ConversationListItemData;
import com.android.messaging.ui.conversationlist.ShareIntentFragment;
@@ -29,7 +34,7 @@ import com.android.messaging.util.BuglePrefs;
import com.android.messaging.widget.WidgetConversationProvider;
public class WidgetPickConversationActivity extends BaseBugleActivity implements
ShareIntentFragment.HostInterface {
ShareIntentFragment.HostInterface, FragmentOnAttachListener {
private int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
@@ -37,7 +42,6 @@ public class WidgetPickConversationActivity extends BaseBugleActivity implements
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the result to CANCELED. This will cause the widget host to cancel
// out of the widget placement if they press the back button.
setResult(RESULT_CANCELED);
@@ -55,15 +59,18 @@ public class WidgetPickConversationActivity extends BaseBugleActivity implements
finish();
}
getSupportFragmentManager().addFragmentOnAttachListener(this);
final ShareIntentFragment convPicker = new ShareIntentFragment();
final Bundle bundle = new Bundle();
bundle.putBoolean(ShareIntentFragment.HIDE_NEW_CONVERSATION_BUTTON_KEY, true);
convPicker.setArguments(bundle);
convPicker.show(getFragmentManager(), "ShareIntentFragment");
convPicker.show(getSupportFragmentManager(), "ShareIntentFragment");
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
final Intent intent = getIntent();
final String action = intent.getAction();
if (!AppWidgetManager.ACTION_APPWIDGET_CONFIGURE.equals(action)) {
@@ -110,5 +117,4 @@ public class WidgetPickConversationActivity extends BaseBugleActivity implements
final BuglePrefs prefs = Factory.get().getWidgetPrefs();
prefs.remove(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID + appWidgetId);
}
}
@@ -17,22 +17,21 @@
package com.android.messaging.ui.appsettings;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.provider.Settings;
import androidx.annotation.NonNull;
import androidx.core.app.NavUtils;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NavUtils;
import androidx.fragment.app.FragmentTransaction;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.messaging.R;
import com.android.messaging.ui.BugleActionBarActivity;
import com.android.messaging.ui.LicenseActivity;
@@ -52,7 +51,7 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
getSupportActionBar().setTitle(getString(R.string.settings_activity_title));
}
FragmentTransaction ft = getFragmentManager().beginTransaction();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(android.R.id.content, new ApplicationSettingsFragment());
ft.commit();
}
@@ -80,7 +79,7 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
return super.onOptionsItemSelected(item);
}
public static class ApplicationSettingsFragment extends PreferenceFragment {
public static class ApplicationSettingsFragment extends PreferenceFragmentCompat {
private String mNotificationsPreferenceKey;
private Preference mNotificationsPreference;
@@ -97,9 +96,8 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
public void onCreatePreferences(@Nullable Bundle savedInstanceState,
@Nullable String rootKey) {
getPreferenceManager().setSharedPreferencesName(BuglePrefs.SHARED_PREFERENCES_NAME);
addPreferencesFromResource(R.xml.preferences_application);
@@ -131,8 +129,7 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
}
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
Preference preference) {
public boolean onPreferenceTreeClick(@NonNull Preference preference) {
if (preference.getKey() == mNotificationsPreferenceKey) {
Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName());
@@ -142,7 +139,7 @@ public class ApplicationSettingsActivity extends BugleActionBarActivity {
preference.getKey() == mSmsEnabledPrefKey) {
mIsSmsPreferenceClicked = true;
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
return super.onPreferenceTreeClick(preference);
}
private void updateSmsEnabledPreferences() {
@@ -17,37 +17,29 @@
package com.android.messaging.ui.appsettings;
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.support.v7.mms.MmsManager;
import android.text.TextUtils;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NavUtils;
import androidx.fragment.app.FragmentTransaction;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import com.android.messaging.Factory;
import com.android.messaging.R;
import com.android.messaging.datamodel.ParticipantRefresh;
import com.android.messaging.datamodel.data.ParticipantData;
import com.android.messaging.sms.ApnDatabase;
import com.android.messaging.sms.MmsConfig;
import com.android.messaging.sms.MmsUtils;
import com.android.messaging.ui.BugleActionBarActivity;
import com.android.messaging.ui.UIIntents;
import com.android.messaging.util.Assert;
import com.android.messaging.util.BuglePrefs;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.PhoneUtils;
public class PerSubscriptionSettingsActivity extends BugleActionBarActivity {
@@ -64,7 +56,7 @@ public class PerSubscriptionSettingsActivity extends BugleActionBarActivity {
// This will fall back to the default title, i.e. "Messaging settings," so No-op.
}
final FragmentTransaction ft = getFragmentManager().beginTransaction();
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
final PerSubscriptionSettingsFragment fragment = new PerSubscriptionSettingsFragment();
ft.replace(android.R.id.content, fragment);
ft.commit();
@@ -80,7 +72,7 @@ public class PerSubscriptionSettingsActivity extends BugleActionBarActivity {
return super.onOptionsItemSelected(item);
}
public static class PerSubscriptionSettingsFragment extends PreferenceFragment
public static class PerSubscriptionSettingsFragment extends PreferenceFragmentCompat
implements OnSharedPreferenceChangeListener {
private PhoneNumberPreference mPhoneNumberPreference;
private Preference mGroupMmsPreference;
@@ -93,12 +85,9 @@ public class PerSubscriptionSettingsActivity extends BugleActionBarActivity {
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
public void onCreatePreferences(@Nullable Bundle savedInstanceState, String rootKey) {
// Get sub id from launch intent
final Intent intent = getActivity().getIntent();
Assert.notNull(intent);
final Intent intent = requireActivity().getIntent();
mSubId = (intent != null) ? intent.getIntExtra(UIIntents.UI_INTENT_EXTRA_SUB_ID,
ParticipantData.DEFAULT_SELF_SUB_ID) : ParticipantData.DEFAULT_SELF_SUB_ID;
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,13 +18,16 @@
package com.android.messaging.ui.appsettings;
import android.content.Context;
import android.preference.EditTextPreference;
import androidx.core.text.BidiFormatter;
import androidx.core.text.TextDirectionHeuristicsCompat;
import android.text.InputType;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.text.BidiFormatter;
import androidx.core.text.TextDirectionHeuristicsCompat;
import androidx.preference.EditTextPreference;
import androidx.preference.PreferenceViewHolder;
import com.android.messaging.R;
import com.android.messaging.util.PhoneUtils;
@@ -52,65 +56,41 @@ public class PhoneNumberPreference extends EditTextPreference {
}
@Override
protected void onBindView(final View view) {
// Show the preference value if it's set, or the default number if not.
// If we don't have a default, fall back to a static string (e.g. Unknown).
public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
setOnBindEditTextListener(editText -> editText.setInputType(InputType.TYPE_CLASS_PHONE));
super.onBindViewHolder(holder);
}
@Nullable
@Override
public CharSequence getSummary() {
String value = getText();
if (TextUtils.isEmpty(value)) {
value = mDefaultPhoneNumber;
value = mDefaultPhoneNumber;
}
final String displayValue = (!TextUtils.isEmpty(value))
? PhoneUtils.get(mSubId).formatForDisplay(value)
: getContext().getString(R.string.unknown_phone_number_pref_display_value);
final BidiFormatter bidiFormatter = BidiFormatter.getInstance();
final String phoneNumber = bidiFormatter.unicodeWrap
(displayValue, TextDirectionHeuristicsCompat.LTR);
// Set the value as the summary and let the superclass populate the views
setSummary(phoneNumber);
super.onBindView(view);
return bidiFormatter.unicodeWrap
(displayValue, TextDirectionHeuristicsCompat.LTR);
}
@Override
protected void onBindDialogView(final View view) {
super.onBindDialogView(view);
final String value = getText();
// If the preference is empty, populate the EditText with the default number instead.
if (TextUtils.isEmpty(value) && !TextUtils.isEmpty(mDefaultPhoneNumber)) {
final BidiFormatter bidiFormatter = BidiFormatter.getInstance();
final String phoneNumber = bidiFormatter.unicodeWrap
(PhoneUtils.get(mSubId).getCanonicalBySystemLocale(mDefaultPhoneNumber),
TextDirectionHeuristicsCompat.LTR);
getEditText().setText(phoneNumber);
}
getEditText().setInputType(InputType.TYPE_CLASS_PHONE);
}
@Override
protected void onDialogClosed(final boolean positiveResult) {
if (positiveResult && mDefaultPhoneNumber != null) {
final String value = getEditText().getText().toString();
public void setText(final String text) {
String newText = text;
if (mDefaultPhoneNumber != null) {
final PhoneUtils phoneUtils = PhoneUtils.get(mSubId);
final String phoneNumber = phoneUtils.getCanonicalBySystemLocale(value);
final String phoneNumber = phoneUtils.getCanonicalBySystemLocale(text);
final String defaultPhoneNumber = phoneUtils.getCanonicalBySystemLocale(
mDefaultPhoneNumber);
// If the new value is the default, clear the preference.
if (phoneNumber.equals(defaultPhoneNumber)) {
setText("");
return;
newText = "";
}
}
super.onDialogClosed(positiveResult);
}
@Override
public void setText(final String text) {
super.setText(text);
// EditTextPreference doesn't show the value on the preference view, but we do.
// We thus need to force a rebind of the view when a new value is set.
notifyChanged();
super.setText(newText);
}
}
@@ -17,12 +17,8 @@
package com.android.messaging.ui.appsettings;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.core.app.NavUtils;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -32,6 +28,11 @@ import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.app.NavUtils;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
import com.android.messaging.datamodel.binding.Binding;
@@ -66,7 +67,7 @@ public class SettingsActivity extends BugleActionBarActivity {
UIIntents.get().launchApplicationSettingsActivity(this, true /* topLevel */);
finish();
} else {
getFragmentManager().beginTransaction()
getSupportFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
@@ -91,7 +92,7 @@ public class SettingsActivity extends BugleActionBarActivity {
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding.bind(DataModel.get().createSettingsData(getActivity(), this));
mBinding.getData().init(getLoaderManager(), mBinding);
mBinding.getData().init(LoaderManager.getInstance(this), mBinding);
}
@Override
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,9 +17,13 @@
package com.android.messaging.ui.attachmentchooser;
import android.app.Fragment;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.R;
import com.android.messaging.ui.BugleActionBarActivity;
import com.android.messaging.ui.UIIntents;
@@ -26,17 +31,19 @@ import com.android.messaging.ui.attachmentchooser.AttachmentChooserFragment.Atta
import com.android.messaging.util.Assert;
public class AttachmentChooserActivity extends BugleActionBarActivity implements
AttachmentChooserFragmentHost {
AttachmentChooserFragmentHost, FragmentOnAttachListener {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportFragmentManager().addFragmentOnAttachListener(this);
setContentView(R.layout.attachment_chooser_activity);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
if (fragment instanceof AttachmentChooserFragment) {
final String conversationId =
getIntent().getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID);
@@ -53,4 +60,5 @@ public class AttachmentChooserActivity extends BugleActionBarActivity implements
setResult(RESULT_OK);
finish();
}
}
@@ -16,14 +16,10 @@
*/
package com.android.messaging.ui.attachmentchooser;
import android.app.Fragment;
import android.content.Context;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -32,6 +28,10 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.fragment.app.Fragment;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
import com.android.messaging.datamodel.MessagingContentProvider;
@@ -80,7 +80,7 @@ public class AttachmentChooserFragment extends Fragment implements DraftMessageD
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.attachment_chooser_menu, menu);
}
@@ -158,7 +158,7 @@ public class AttachmentChooserFragment extends Fragment implements DraftMessageD
class AttachmentGridAdapter extends ArrayAdapter<MessagePartData> {
public AttachmentGridAdapter(final Context context) {
super(context, R.layout.attachment_grid_item_view, new ArrayList<MessagePartData>());
super(context, R.layout.attachment_grid_item_view, new ArrayList<>());
}
public void onAttachmentsLoaded(final List<MessagePartData> attachments) {
@@ -18,13 +18,9 @@
package com.android.messaging.ui.contact;
import android.app.Activity;
import android.app.Fragment;
import android.database.Cursor;
import android.graphics.Rect;
import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import androidx.appcompat.widget.Toolbar.OnMenuItemClickListener;
import android.text.Editable;
import android.text.InputType;
import android.text.TextUtils;
@@ -39,6 +35,14 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import androidx.appcompat.widget.Toolbar.OnMenuItemClickListener;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
import com.android.messaging.datamodel.action.ActionMonitor;
@@ -129,7 +133,7 @@ public class ContactPickerFragment extends Fragment implements ContactPickerData
if (ContactUtil.hasReadContactsPermission()) {
mBinding.bind(DataModel.get().createContactPickerData(getActivity(), this));
mBinding.getData().init(getLoaderManager(), mBinding);
mBinding.getData().init(LoaderManager.getInstance(this), mBinding);
}
}
@@ -192,15 +196,9 @@ public class ContactPickerFragment extends Fragment implements ContactPickerData
return view;
}
/**
* {@inheritDoc}
*
* Called when the host activity has been created. At this point, the host activity should
* have set the contact picking mode for us so that we may update our visuals.
*/
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Assert.isTrue(mContactPickingMode != MODE_UNDEFINED);
updateVisualsForContactPickingMode(false /* animate */);
mHost.invalidateActionBar();
@@ -17,17 +17,17 @@
package com.android.messaging.ui.conversation;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import android.text.TextUtils;
import android.view.MenuItem;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.android.messaging.R;
import com.android.messaging.datamodel.MessagingContentProvider;
@@ -227,12 +227,12 @@ public class ConversationActivity extends BugleActionBarActivity
}
private ContactPickerFragment getContactPicker() {
return (ContactPickerFragment) getFragmentManager().findFragmentByTag(
return (ContactPickerFragment) getSupportFragmentManager().findFragmentByTag(
ContactPickerFragment.FRAGMENT_TAG);
}
private ConversationFragment getConversationFragment() {
return (ConversationFragment) getFragmentManager().findFragmentByTag(
return (ConversationFragment) getSupportFragmentManager().findFragmentByTag(
ConversationFragment.FRAGMENT_TAG);
}
@@ -296,7 +296,7 @@ public class ConversationActivity extends BugleActionBarActivity
final Intent intent = getIntent();
final String conversationId = mUiState.getConversationId();
final FragmentManager fragmentManager = getFragmentManager();
final FragmentManager fragmentManager = getSupportFragmentManager();
final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
final boolean needConversationFragment = mUiState.shouldShowConversationFragment();
@@ -40,6 +40,7 @@ import android.view.ViewGroupOverlay;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.messaging.R;
import com.android.messaging.datamodel.data.ConversationMessageData;
import com.android.messaging.ui.ConversationDrawables;
@@ -19,11 +19,7 @@ package com.android.messaging.ui.conversation;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DownloadManager;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -40,16 +36,6 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.core.text.BidiFormatter;
import androidx.core.text.TextDirectionHeuristicsCompat;
import androidx.appcompat.app.ActionBar;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.view.ActionMode;
@@ -63,6 +49,21 @@ import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.core.text.BidiFormatter;
import androidx.core.text.TextDirectionHeuristicsCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.loader.app.LoaderManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
import com.android.messaging.datamodel.MessagingContentProvider;
@@ -442,7 +443,7 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
// Delay showing the message list until the participant list is loaded.
mRecyclerView.setVisibility(View.INVISIBLE);
mBinding.ensureBound();
mBinding.getData().init(getLoaderManager(), mBinding);
mBinding.getData().init(LoaderManager.getInstance(this), mBinding);
// Build the input manager with all its required dependencies and pass it along to the
// compose message view.
@@ -678,7 +679,7 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
}
@Override
public void onSaveInstanceState(final Bundle outState) {
public void onSaveInstanceState(@NonNull final Bundle outState) {
super.onSaveInstanceState(outState);
if (mListState != null) {
outState.putParcelable(SAVED_INSTANCE_STATE_LIST_VIEW_STATE_KEY, mListState);
@@ -722,7 +723,8 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
}
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
public void onCreateOptionsMenu(@NonNull final Menu menu,
@NonNull final MenuInflater inflater) {
if (mHost.getActionMode() != null) {
return;
}
@@ -979,7 +981,7 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
}
@Override
public void onConfigurationChanged(final Configuration newConfig) {
public void onConfigurationChanged(@NonNull final Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mRecyclerView.getItemAnimator().endAnimations();
}
@@ -1178,7 +1180,7 @@ public class ConversationFragment extends Fragment implements ConversationDataLi
ImeUtil.hideSoftInput(getActivity(), mComposeMessageView);
}
final FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
final FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
final EnterSelfPhoneNumberDialog dialog = EnterSelfPhoneNumberDialog
.newInstance(getConversationSelfSubId());
dialog.setTargetFragment(this, 0/*requestCode*/);
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,12 +16,13 @@
*/
package com.android.messaging.ui.conversation;
import android.app.FragmentManager;
import android.content.Context;
import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import android.widget.EditText;
import androidx.appcompat.app.ActionBar;
import androidx.fragment.app.FragmentManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.binding.BindingBase;
import com.android.messaging.datamodel.binding.ImmutableBindingRef;
@@ -16,15 +16,17 @@
*/
package com.android.messaging.ui.conversation;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import com.android.messaging.R;
import com.android.messaging.datamodel.ParticipantRefresh;
import com.android.messaging.util.BuglePrefs;
@@ -43,6 +45,7 @@ public class EnterSelfPhoneNumberDialog extends DialogFragment {
return dialog;
}
@NonNull
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final Context context = getActivity();
@@ -18,15 +18,16 @@ package com.android.messaging.ui.conversationlist;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.messaging.R;
import com.android.messaging.datamodel.action.DeleteConversationAction;
import com.android.messaging.datamodel.action.UpdateConversationArchiveStatusAction;
@@ -48,30 +49,17 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.annotation.Nullable;
/**
* Base class for many Conversation List activities. This will handle the common actions of multi
* select and common launching of intents.
*/
public abstract class AbstractConversationListActivity extends BugleActionBarActivity
public abstract class AbstractConversationListActivity extends BugleActionBarActivity
implements ConversationListFragmentHost, MultiSelectActionModeCallback.Listener {
private static final int REQUEST_SET_DEFAULT_SMS_APP = 1;
protected ConversationListFragment mConversationListFragment;
@Override
public void onAttachFragment(final Fragment fragment) {
Trace.beginSection("AbstractConversationListActivity.onAttachFragment");
// Fragment could be debug dialog
if (fragment instanceof ConversationListFragment) {
mConversationListFragment = (ConversationListFragment) fragment;
mConversationListFragment.setHost(this);
}
Trace.endSection();
}
@Override
public void onBackPressed() {
// If action mode is active dismiss it
@@ -18,14 +18,18 @@ package com.android.messaging.ui.conversationlist;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import android.view.MenuItem;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.R;
public class ArchivedConversationListActivity extends AbstractConversationListActivity {
public class ArchivedConversationListActivity extends AbstractConversationListActivity
implements FragmentOnAttachListener {
@Override
protected void onCreate(final Bundle savedInstanceState) {
@@ -33,7 +37,8 @@ public class ArchivedConversationListActivity extends AbstractConversationListAc
final ConversationListFragment fragment =
ConversationListFragment.createArchivedConversationListFragment();
getFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
getSupportFragmentManager().addFragmentOnAttachListener(this);
getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
invalidateActionBar();
}
@@ -77,4 +82,13 @@ public class ArchivedConversationListActivity extends AbstractConversationListAc
public boolean isSwipeAnimatable() {
return false;
}
@Override
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
if (fragment instanceof ConversationListFragment) {
mConversationListFragment = (ConversationListFragment) fragment;
mConversationListFragment.setHost(this);
}
}
}
@@ -19,22 +19,26 @@ package com.android.messaging.ui.conversationlist;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import android.view.Menu;
import android.view.MenuItem;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.R;
import com.android.messaging.ui.UIIntents;
import com.android.messaging.util.Trace;
public class ConversationListActivity extends AbstractConversationListActivity {
public class ConversationListActivity extends AbstractConversationListActivity implements FragmentOnAttachListener {
@Override
protected void onCreate(final Bundle savedInstanceState) {
Trace.beginSection("ConversationListActivity.onCreate");
setTheme(R.style.BugleTheme_ConversationListActivity);
super.onCreate(savedInstanceState);
getSupportFragmentManager().addFragmentOnAttachListener(this);
setContentView(R.layout.conversation_list_activity);
Trace.endSection();
invalidateActionBar();
@@ -128,7 +132,7 @@ public class ConversationListActivity extends AbstractConversationListActivity {
public void onWindowFocusChanged(final boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
final ConversationListFragment conversationListFragment =
(ConversationListFragment) getFragmentManager().findFragmentById(
(ConversationListFragment) getSupportFragmentManager().findFragmentById(
R.id.conversation_list_fragment);
// When the screen is turned on, the last used activity gets resumed, but it gets
// window focus only after the lock screen is unlocked.
@@ -136,4 +140,13 @@ public class ConversationListActivity extends AbstractConversationListActivity {
conversationListFragment.setScrolledToNewestConversationIfNeeded();
}
}
@Override
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
if (fragment instanceof ConversationListFragment) {
mConversationListFragment = (ConversationListFragment) fragment;
mConversationListFragment.setHost(this);
}
}
}
@@ -17,19 +17,12 @@
package com.android.messaging.ui.conversationlist;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.core.view.ViewCompat;
import androidx.core.view.ViewGroupCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -42,6 +35,14 @@ import android.view.accessibility.AccessibilityManager;
import android.widget.AbsListView;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.core.view.ViewCompat;
import androidx.core.view.ViewGroupCompat;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.android.messaging.R;
import com.android.messaging.annotation.VisibleForAnimation;
import com.android.messaging.datamodel.DataModel;
@@ -127,7 +128,7 @@ public class ConversationListFragment extends Fragment implements ConversationLi
@Override
public void onCreate(final Bundle bundle) {
super.onCreate(bundle);
mListBinding.getData().init(getLoaderManager(), mListBinding);
mListBinding.getData().init(LoaderManager.getInstance(this), mListBinding);
mAdapter = new ConversationListAdapter(getActivity(), null, this);
}
@@ -244,8 +245,8 @@ public class ConversationListFragment extends Fragment implements ConversationLi
}
@Override
public void onAttach(final Activity activity) {
super.onAttach(activity);
public void onAttach(@NonNull final Context context) {
super.onAttach(context);
if (VERBOSE) {
LogUtil.v(LogUtil.BUGLE_TAG, "Attaching List");
}
@@ -254,12 +255,12 @@ public class ConversationListFragment extends Fragment implements ConversationLi
mArchiveMode = arguments.getBoolean(BUNDLE_ARCHIVED_MODE, false);
mForwardMessageMode = arguments.getBoolean(BUNDLE_FORWARD_MESSAGE_MODE, false);
}
mListBinding.bind(DataModel.get().createConversationListData(activity, this, mArchiveMode));
mListBinding.bind(DataModel.get().createConversationListData(context, this, mArchiveMode));
}
@Override
public void onSaveInstanceState(final Bundle outState) {
public void onSaveInstanceState(@NonNull final Bundle outState) {
super.onSaveInstanceState(outState);
if (mListState != null) {
outState.putParcelable(SAVED_INSTANCE_STATE_LIST_VIEW_STATE_KEY, mListState);
@@ -305,7 +306,7 @@ public class ConversationListFragment extends Fragment implements ConversationLi
}
@Override
public void onPrepareOptionsMenu(final Menu menu) {
public void onPrepareOptionsMenu(@NonNull final Menu menu) {
super.onPrepareOptionsMenu(menu);
final MenuItem startNewConversationMenuItem =
menu.findItem(R.id.action_start_new_conversation);
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,36 +17,41 @@
package com.android.messaging.ui.conversationlist;
import android.app.Fragment;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.datamodel.data.ConversationListData;
import com.android.messaging.datamodel.data.ConversationListItemData;
import com.android.messaging.datamodel.data.MessageData;
import com.android.messaging.ui.BaseBugleActivity;
import com.android.messaging.ui.UIIntents;
import com.android.messaging.ui.conversationlist.ConversationListFragment.ConversationListFragmentHost;
import com.android.messaging.util.Assert;
/**
* An activity that lets the user forward a SMS/MMS message by picking from a conversation in the
* conversation list.
*/
public class ForwardMessageActivity extends BaseBugleActivity
implements ConversationListFragmentHost {
implements ConversationListFragmentHost, FragmentOnAttachListener {
private MessageData mDraftMessage;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportFragmentManager().addFragmentOnAttachListener(this);
final ConversationListFragment fragment =
ConversationListFragment.createForwardMessageConversationListFragment();
getFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
mDraftMessage = getIntent().getParcelableExtra(UIIntents.UI_INTENT_EXTRA_DRAFT_DATA);
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
if (fragment instanceof ConversationListFragment) {
final ConversationListFragment clf = (ConversationListFragment) fragment;
clf.setHost(this);
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +17,6 @@
package com.android.messaging.ui.conversationlist;
import android.app.Fragment;
import android.content.ContentResolver;
import android.content.Intent;
import android.media.MediaMetadataRetriever;
@@ -24,7 +24,11 @@ import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.collection.ArrayMap;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentOnAttachListener;
import com.android.messaging.Factory;
import com.android.messaging.datamodel.data.ConversationListItemData;
@@ -48,7 +52,7 @@ import java.util.ArrayList;
import java.util.Map;
public class ShareIntentActivity extends BaseBugleActivity implements
ShareIntentFragment.HostInterface {
ShareIntentFragment.HostInterface, FragmentOnAttachListener {
private MessageData mDraftMessage;
@@ -74,11 +78,13 @@ public class ShareIntentActivity extends BaseBugleActivity implements
finish();
return;
}
new ShareIntentFragment().show(getFragmentManager(), "ShareIntentFragment");
getSupportFragmentManager().addFragmentOnAttachListener(this);
new ShareIntentFragment().show(getSupportFragmentManager(), "ShareIntentFragment");
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull FragmentManager fragmentManager,
@NonNull Fragment fragment) {
final Intent intent = getIntent();
final String action = intent.getAction();
@@ -20,10 +20,14 @@ import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.DialogFragment;
import androidx.loader.app.LoaderManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
@@ -61,6 +65,7 @@ public class ShareIntentFragment extends DialogFragment implements ConversationL
/**
* {@inheritDoc} from Fragment
*/
@NonNull
@Override
public Dialog onCreateDialog(final Bundle bundle) {
final Activity activity = getActivity();
@@ -79,7 +84,7 @@ public class ShareIntentFragment extends DialogFragment implements ConversationL
ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
mListBinding.getData().init(getLoaderManager(), mListBinding);
mListBinding.getData().init(LoaderManager.getInstance(this), mListBinding);
mAdapter = new ShareIntentAdapter(activity, null, this);
mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list);
mRecyclerView.setLayoutManager(manager);
@@ -101,7 +106,7 @@ public class ShareIntentFragment extends DialogFragment implements ConversationL
}
@Override
public void onDismiss(DialogInterface dialog) {
public void onDismiss(@NonNull DialogInterface dialog) {
if (!mDismissed) {
final Activity activity = getActivity();
if (activity != null) {
@@ -120,12 +125,12 @@ public class ShareIntentFragment extends DialogFragment implements ConversationL
}
@Override
public void onAttach(final Activity activity) {
super.onAttach(activity);
if (activity instanceof HostInterface) {
mHost = (HostInterface) activity;
public void onAttach(@NonNull final Context context) {
super.onAttach(context);
if (context instanceof HostInterface) {
mHost = (HostInterface) context;
}
mListBinding.bind(DataModel.get().createConversationListData(activity, this, false));
mListBinding.bind(DataModel.get().createConversationListData(context, this, false));
}
@Override
@@ -17,11 +17,11 @@
package com.android.messaging.ui.conversationsettings;
import android.app.Fragment;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.android.messaging.R;
import com.android.messaging.ui.BugleActionBarActivity;
@@ -42,7 +42,7 @@ public class PeopleAndOptionsActivity extends BugleActionBarActivity {
}
@Override
public void onAttachFragment(final Fragment fragment) {
public void onAttachFragment(@NonNull final Fragment fragment) {
if (fragment instanceof PeopleAndOptionsFragment) {
final String conversationId =
getIntent().getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID);
@@ -18,7 +18,6 @@ package com.android.messaging.ui.conversationsettings;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
@@ -36,6 +35,8 @@ import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
@@ -72,7 +73,7 @@ public class PeopleAndOptionsFragment extends Fragment
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding.getData().init(getLoaderManager(), mBinding);
mBinding.getData().init(LoaderManager.getInstance(this), mBinding);
}
@Override
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,11 +16,12 @@
*/
package com.android.messaging.ui.mediapicker;
import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import com.android.messaging.Factory;
import com.android.messaging.datamodel.data.PendingAttachmentData;
import com.android.messaging.ui.UIIntents;
@@ -17,10 +17,8 @@
package com.android.messaging.ui.mediapicker;
import android.app.FragmentManager;
import android.content.Context;
import android.content.Intent;
import androidx.appcompat.app.ActionBar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -28,6 +26,8 @@ import android.view.MenuItem;
import android.view.ViewGroup;
import android.widget.ImageButton;
import androidx.appcompat.app.ActionBar;
import androidx.fragment.app.FragmentManager;
import com.android.messaging.R;
import com.android.messaging.datamodel.binding.ImmutableBindingRef;
import com.android.messaging.datamodel.data.MediaPickerData;
@@ -18,16 +18,10 @@
package com.android.messaging.ui.mediapicker;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.ActionBar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -37,6 +31,13 @@ import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.android.messaging.Factory;
import com.android.messaging.R;
import com.android.messaging.datamodel.DataModel;
@@ -201,7 +202,7 @@ public class MediaPicker extends Fragment implements DraftMessageSubscriptionDat
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding.getData().init(getLoaderManager());
mBinding.getData().init(LoaderManager.getInstance(this));
}
@Override
@@ -441,7 +442,7 @@ public class MediaPicker extends Fragment implements DraftMessageSubscriptionDat
if (mBinding.isBound() && getActivity() != null) {
mBinding.unbind();
mBinding.bind(DataModel.get().createMediaPickerData(getActivity()));
mBinding.getData().init(getLoaderManager());
mBinding.getData().init(LoaderManager.getInstance(this));
}
}
@@ -640,7 +641,8 @@ public class MediaPicker extends Fragment implements DraftMessageSubscriptionDat
}
@Override
public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
public void onCreateOptionsMenu(@NonNull final Menu menu,
@NonNull final MenuInflater inflater) {
if (mSelectedChooser != null) {
mSelectedChooser.onCreateOptionsMenu(inflater, menu);
}