diff --git a/WordPress/src/jetpack/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt b/WordPress/src/jetpack/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt index da5c7141fa01..8d03e1001fad 100644 --- a/WordPress/src/jetpack/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt +++ b/WordPress/src/jetpack/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt @@ -79,6 +79,7 @@ class LoginPrologueFragment : Fragment(R.layout.jetpack_login_prologue_screen) { viewModel.onFragmentResume() } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) // important for accessibility - talkback diff --git a/WordPress/src/main/java/org/wordpress/android/models/ReaderPostDiscoverData.java b/WordPress/src/main/java/org/wordpress/android/models/ReaderPostDiscoverData.java index 56556a679e93..d6b7d472813b 100644 --- a/WordPress/src/main/java/org/wordpress/android/models/ReaderPostDiscoverData.java +++ b/WordPress/src/main/java/org/wordpress/android/models/ReaderPostDiscoverData.java @@ -1,11 +1,11 @@ package org.wordpress.android.models; import android.content.Context; -import android.text.Html; import android.text.Spanned; import android.text.TextUtils; import androidx.annotation.NonNull; +import androidx.core.text.HtmlCompat; import org.json.JSONArray; import org.json.JSONObject; @@ -183,7 +183,7 @@ public Spanned getAttributionHtml() { html = ""; } - mAttributionHtml = Html.fromHtml(html); + mAttributionHtml = HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY); } return mAttributionHtml; } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/AppLogViewerActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/AppLogViewerActivity.java index 0f22ee131c2b..a9110642bda7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/AppLogViewerActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/AppLogViewerActivity.java @@ -5,7 +5,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.text.Html; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -18,6 +17,7 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; +import androidx.core.text.HtmlCompat; import org.wordpress.android.R; import org.wordpress.android.util.AppLog; @@ -96,7 +96,7 @@ public View getView(int position, View convertView, ViewGroup parent) { holder.mTxtLineNumber.setVisibility(View.GONE); } - holder.mTxtLogEntry.setText(Html.fromHtml(mEntries.get(position))); + holder.mTxtLogEntry.setText(HtmlCompat.fromHtml(mEntries.get(position), HtmlCompat.FROM_HTML_MODE_LEGACY)); return convertView; } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/JetpackRemoteInstallFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/JetpackRemoteInstallFragment.kt index 8f3172cd8cc7..fb3e1818db2e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/JetpackRemoteInstallFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/JetpackRemoteInstallFragment.kt @@ -7,6 +7,7 @@ import android.os.Bundle import android.view.View import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import org.wordpress.android.R @@ -14,6 +15,7 @@ import org.wordpress.android.WordPress import org.wordpress.android.databinding.JetpackRemoteInstallFragmentBinding import org.wordpress.android.fluxc.model.SiteModel import org.wordpress.android.login.LoginMode +import org.wordpress.android.ui.JetpackRemoteInstallViewModel.JetpackResultActionData import org.wordpress.android.ui.JetpackRemoteInstallViewModel.JetpackResultActionData.Action.CONNECT import org.wordpress.android.ui.JetpackRemoteInstallViewModel.JetpackResultActionData.Action.LOGIN import org.wordpress.android.ui.JetpackRemoteInstallViewModel.JetpackResultActionData.Action.MANUAL_INSTALL @@ -54,36 +56,54 @@ class JetpackRemoteInstallFragment : Fragment(R.layout.jetpack_remote_install_fr viewModel.liveActionOnResult.observe(viewLifecycleOwner, Observer { result -> if (result != null) { when (result.action) { - MANUAL_INSTALL -> { - JetpackConnectionWebViewActivity.startManualFlow( - activity, - source, - result.site, - result.loggedIn - ) - activity.finish() - } - LOGIN -> { - val loginIntent = Intent(activity, LoginActivity::class.java) - LoginMode.JETPACK_STATS.putInto(loginIntent) - loginIntent.putExtra(LoginActivity.ARG_JETPACK_CONNECT_SOURCE, source) - startActivityForResult(loginIntent, JETPACK_LOGIN) - } - CONNECT -> { - JetpackConnectionWebViewActivity.startJetpackConnectionFlow( - activity, - source, - result.site, - result.loggedIn - ) - activity.finish() - } + MANUAL_INSTALL -> onManualInstallResultAction(activity, source, result) + LOGIN -> onLoginResultAction(activity, source) + CONNECT -> onConnectResultAction(activity, source, result) } } }) } } + private fun onManualInstallResultAction( + activity: FragmentActivity, + source: JetpackConnectionSource, + result: JetpackResultActionData + ) { + JetpackConnectionWebViewActivity.startManualFlow( + activity, + source, + result.site, + result.loggedIn + ) + activity.finish() + } + + @Suppress("DEPRECATION") + private fun onLoginResultAction( + activity: FragmentActivity, + source: JetpackConnectionSource + ) { + val loginIntent = Intent(activity, LoginActivity::class.java) + LoginMode.JETPACK_STATS.putInto(loginIntent) + loginIntent.putExtra(LoginActivity.ARG_JETPACK_CONNECT_SOURCE, source) + startActivityForResult(loginIntent, JETPACK_LOGIN) + } + + private fun onConnectResultAction( + activity: FragmentActivity, + source: JetpackConnectionSource, + result: JetpackResultActionData + ) { + JetpackConnectionWebViewActivity.startJetpackConnectionFlow( + activity, + source, + result.site, + result.loggedIn + ) + activity.finish() + } + private fun JetpackRemoteInstallFragmentBinding.initLiveViewStateObserver() { viewModel.liveViewState.observe(viewLifecycleOwner, Observer { viewState -> if (viewState != null) { @@ -111,6 +131,7 @@ class JetpackRemoteInstallFragment : Fragment(R.layout.jetpack_remote_install_fr }) } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == JETPACK_LOGIN && resultCode == Activity.RESULT_OK) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/PrivateAtCookieRefreshProgressDialog.kt b/WordPress/src/main/java/org/wordpress/android/ui/PrivateAtCookieRefreshProgressDialog.kt index 3bee5b1d83f6..81895d5cf8ea 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/PrivateAtCookieRefreshProgressDialog.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/PrivateAtCookieRefreshProgressDialog.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui import android.app.Dialog @@ -10,6 +12,7 @@ import androidx.fragment.app.FragmentManager import org.wordpress.android.R class PrivateAtCookieRefreshProgressDialog : DialogFragment() { + @Suppress("DEPRECATION") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val dialogMessage = activity?.getString(R.string.media_accessing_progress) return ProgressDialog.show( @@ -25,6 +28,7 @@ class PrivateAtCookieRefreshProgressDialog : DialogFragment() { return dialog != null && dialog!!.isShowing } + @Suppress("DEPRECATION") override fun onCancel(dialog: DialogInterface) { super.onCancel(dialog) if (targetFragment is PrivateAtCookieProgressDialogOnDismissListener) { @@ -41,6 +45,7 @@ class PrivateAtCookieRefreshProgressDialog : DialogFragment() { showIfNecessary(fragmentManager, null) } + @Suppress("DEPRECATION") fun showIfNecessary(fragmentManager: FragmentManager?, targetFragment: Fragment?) { fragmentManager?.let { val thisFragment = fragmentManager.findFragmentByTag(TAG) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java index 2f118bbde556..b762991027a1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java @@ -66,7 +66,9 @@ public void onAttach(Context context) { } } - @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { + @Override + @SuppressWarnings("deprecation") + public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // important for accessibility - talkback getActivity().setTitle(R.string.share_intent_screen_title); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java index 135372a6ce5f..f10a16a997e4 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java @@ -52,6 +52,7 @@ public static TextInputDialogFragment newInstance(String title, } @Override + @SuppressWarnings("deprecation") public Dialog onCreateDialog(Bundle savedInstanceState) { LayoutInflater layoutInflater = LayoutInflater.from(getActivity()); //noinspection InflateParams @@ -112,7 +113,9 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { return alertDialog; } - @Override public void onDismiss(@NonNull DialogInterface dialog) { + @Override + @SuppressWarnings("deprecation") + public void onDismiss(@NonNull DialogInterface dialog) { super.onDismiss(dialog); if (getTargetFragment() instanceof Callback) { ((Callback) getTargetFragment()).onTextInputDialogDismissed(callbackId); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/LoginProloguePageFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/LoginProloguePageFragment.kt index 2ebc8c896a2f..46818fbf5aa6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/LoginProloguePageFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/login/LoginProloguePageFragment.kt @@ -1,13 +1,13 @@ package org.wordpress.android.ui.accounts.login import android.os.Bundle -import android.text.Html import android.view.LayoutInflater import android.view.View import android.widget.EditText import android.widget.TextView import androidx.annotation.LayoutRes import androidx.annotation.StringRes +import androidx.core.text.HtmlCompat import androidx.fragment.app.Fragment import org.wordpress.android.R import org.wordpress.android.databinding.LoginIntroTemplateViewBinding @@ -83,12 +83,18 @@ class LoginProloguePageFragment : Fragment(R.layout.login_intro_template_view) { // format text from HTML to show bold on third prologue screen if (promoLayoutId == R.layout.login_prologue_third) { - view.findViewById(R.id.text_one).text = Html.fromHtml(getString( - R.string.login_prologue_third_subtitle_one)) - view.findViewById(R.id.text_two).text = Html.fromHtml(getString( - R.string.login_prologue_third_subtitle_two)) - view.findViewById(R.id.text_three).text = Html.fromHtml(getString( - R.string.login_prologue_third_subtitle_three)) + view.findViewById(R.id.text_one).text = HtmlCompat.fromHtml( + getString(R.string.login_prologue_third_subtitle_one), + HtmlCompat.FROM_HTML_MODE_LEGACY + ) + view.findViewById(R.id.text_two).text = HtmlCompat.fromHtml( + getString(R.string.login_prologue_third_subtitle_two), + HtmlCompat.FROM_HTML_MODE_LEGACY + ) + view.findViewById(R.id.text_three).text = HtmlCompat.fromHtml( + getString(R.string.login_prologue_third_subtitle_three), + HtmlCompat.FROM_HTML_MODE_LEGACY + ) } } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/BaseUsernameChangerFullScreenDialogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/BaseUsernameChangerFullScreenDialogFragment.java index d11ea8ef83da..fe42b57b488a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/BaseUsernameChangerFullScreenDialogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/BaseUsernameChangerFullScreenDialogFragment.java @@ -3,7 +3,6 @@ import android.os.Bundle; import android.os.Handler; import android.text.Editable; -import android.text.Html; import android.text.Spanned; import android.text.SpannedString; import android.text.TextUtils; @@ -17,6 +16,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; +import androidx.core.text.HtmlCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.SimpleItemAnimator; @@ -381,9 +381,7 @@ public void onUsernameSuggestionsFetched(OnUsernameSuggestionsFetched event) { mUsernameSuggestionInput, "" ); - mUsernameView.setError(Html.fromHtml( - error - )); + mUsernameView.setError(HtmlCompat.fromHtml(error, HtmlCompat.FROM_HTML_MODE_LEGACY)); } else { populateUsernameSuggestions(event.suggestions); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SettingsUsernameChangerFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SettingsUsernameChangerFragment.kt index 78a32b7d6194..0845fc972c8e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SettingsUsernameChangerFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SettingsUsernameChangerFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.accounts.signup import android.app.ProgressDialog @@ -33,7 +35,7 @@ import org.wordpress.android.widgets.WPDialogSnackbar */ class SettingsUsernameChangerFragment : BaseUsernameChangerFullScreenDialogFragment() { private lateinit var dialogController: FullScreenDialogController - private var progressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var progressDialog: ProgressDialog? = null override fun getSuggestionsFailedStat() = ACCOUNT_SETTINGS_CHANGE_USERNAME_SUGGESTIONS_FAILED override fun canHeaderTextLiveUpdate() = false @@ -154,6 +156,7 @@ class SettingsUsernameChangerFragment : BaseUsernameChangerFullScreenDialogFragm } } + @Suppress("DEPRECATION") fun showProgress() { if (progressDialog == null || progressDialog?.window == null || progressDialog?.isShowing == false) { progressDialog = ProgressDialog(context).apply { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SignupEpilogueFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SignupEpilogueFragment.java index 0893a662a1c5..f735de1e8fe0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SignupEpilogueFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SignupEpilogueFragment.java @@ -65,7 +65,6 @@ import org.wordpress.android.ui.photopicker.MediaPickerConstants; import org.wordpress.android.ui.photopicker.MediaPickerLauncher; import org.wordpress.android.ui.photopicker.PhotoPickerActivity; -import org.wordpress.android.ui.photopicker.PhotoPickerActivity.PhotoPickerMediaSource; import org.wordpress.android.ui.prefs.AppPrefsWrapper; import org.wordpress.android.ui.reader.services.update.ReaderUpdateLogic; import org.wordpress.android.ui.reader.services.update.ReaderUpdateServiceStarter; @@ -365,6 +364,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) { } @Override + @SuppressWarnings("deprecation") public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -378,8 +378,10 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { data.getStringArrayExtra(MediaPickerConstants.EXTRA_MEDIA_URIS); if (mediaUriStringsArray != null && mediaUriStringsArray.length > 0) { - PhotoPickerMediaSource source = PhotoPickerMediaSource.fromString( - data.getStringExtra(MediaPickerConstants.EXTRA_MEDIA_SOURCE)); + PhotoPickerActivity.PhotoPickerMediaSource source = + PhotoPickerActivity.PhotoPickerMediaSource.fromString( + data.getStringExtra(MediaPickerConstants.EXTRA_MEDIA_SOURCE) + ); AnalyticsTracker.Stat stat = source == PhotoPickerActivity.PhotoPickerMediaSource.ANDROID_CAMERA ? SIGNUP_EMAIL_EPILOGUE_GRAVATAR_SHOT_NEW diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/UsernameChangerFullScreenDialogFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/UsernameChangerFullScreenDialogFragment.kt index add2d476a2f1..4f75adad43ea 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/UsernameChangerFullScreenDialogFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/UsernameChangerFullScreenDialogFragment.kt @@ -1,8 +1,8 @@ package org.wordpress.android.ui.accounts.signup import android.os.Bundle -import android.text.Html import android.text.Spanned +import androidx.core.text.HtmlCompat import org.wordpress.android.R import org.wordpress.android.analytics.AnalyticsTracker.Stat.SIGNUP_SOCIAL_EPILOGUE_USERNAME_SUGGESTIONS_FAILED import org.wordpress.android.ui.FullScreenDialogFragment.FullScreenDialogController @@ -13,7 +13,7 @@ import org.wordpress.android.ui.FullScreenDialogFragment.FullScreenDialogControl class UsernameChangerFullScreenDialogFragment : BaseUsernameChangerFullScreenDialogFragment() { override fun getSuggestionsFailedStat() = SIGNUP_SOCIAL_EPILOGUE_USERNAME_SUGGESTIONS_FAILED override fun canHeaderTextLiveUpdate() = true - override fun getHeaderText(username: String?, display: String?): Spanned = Html.fromHtml( + override fun getHeaderText(username: String?, display: String?): Spanned = HtmlCompat.fromHtml( String.format( getString(R.string.username_changer_header), "", @@ -22,7 +22,8 @@ class UsernameChangerFullScreenDialogFragment : BaseUsernameChangerFullScreenDia "", display, "" - ) + ), + HtmlCompat.FROM_HTML_MODE_LEGACY ) override fun getTrackEventSource() = SOURCE diff --git a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/detail/ActivityLogDetailActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/detail/ActivityLogDetailActivity.kt index 999d114c7ff7..b335bf03d456 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/detail/ActivityLogDetailActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/detail/ActivityLogDetailActivity.kt @@ -31,6 +31,7 @@ class ActivityLogDetailActivity : LocaleAwareActivity() { return super.onOptionsItemSelected(item) } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListActivity.kt index d3b5f8932763..8f79176304f9 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListActivity.kt @@ -95,6 +95,7 @@ class ActivityLogListActivity : LocaleAwareActivity(), ScrollableViewInitialized return super.onOptionsItemSelected(item) } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListFragment.kt index 3e1cd47335ef..9de18064c487 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/activitylog/list/ActivityLogListFragment.kt @@ -107,6 +107,7 @@ class ActivityLogListFragment : Fragment(R.layout.activity_log_list_fragment) { } } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) with(requireActivity()) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentDetailFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentDetailFragment.java index a2e1664e066c..b88e3b40e060 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentDetailFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentDetailFragment.java @@ -8,7 +8,6 @@ import android.content.Intent; import android.os.Bundle; import android.text.Editable; -import android.text.Html; import android.text.TextUtils; import android.text.TextWatcher; import android.view.HapticFeedbackConstants; @@ -27,6 +26,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; +import androidx.core.text.HtmlCompat; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -825,7 +825,7 @@ private void setPostTitle(TextView txtTitle, String postTitle, boolean isHyperli + ">" + postTitle.trim() + ""; - txtTitle.setText(Html.fromHtml(html)); + txtTitle.setText(HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY)); } else { String text = getString(R.string.on) + " " + postTitle.trim(); txtTitle.setText(text); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentsDetailActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentsDetailActivity.java index d7f410e1690d..cd37f943beb6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentsDetailActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/comments/CommentsDetailActivity.java @@ -198,6 +198,7 @@ public void onCommentChanged(OnCommentChanged event) { } } + @SuppressWarnings("deprecation") private void loadDataInViewPager() { if (mIsLoadingComments) { AppLog.w(AppLog.T.COMMENTS, "load comments task already active"); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/comments/EditCommentActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/comments/EditCommentActivity.java index 26e9a0ee6daf..83a59cc8fbf2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/comments/EditCommentActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/comments/EditCommentActivity.java @@ -246,6 +246,7 @@ private boolean isCommentEdited() { } @Override + @SuppressWarnings("deprecation") protected Dialog onCreateDialog(int id) { if (id == ID_DIALOG_SAVING) { ProgressDialog savingDialog = new ProgressDialog(this); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/comments/unified/CommentDetailsActivityContract.kt b/WordPress/src/main/java/org/wordpress/android/ui/comments/unified/CommentDetailsActivityContract.kt index a0283afb1097..603c511023db 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/comments/unified/CommentDetailsActivityContract.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/comments/unified/CommentDetailsActivityContract.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.comments.unified import android.app.Activity @@ -13,6 +15,7 @@ import org.wordpress.android.ui.comments.unified.CommentDetailsActivityContract. class CommentDetailsActivityContract : ActivityResultContract() { + @Suppress("DEPRECATION") override fun createIntent(context: Context, input: CommentDetailsActivityRequest): Intent { val detailIntent = Intent(context, CommentsDetailActivity::class.java) detailIntent.putExtra(CommentsDetailActivity.COMMENT_ID_EXTRA, input.commentId) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainRegistrationDetailsFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainRegistrationDetailsFragment.kt index c7b57b8c62d2..469981f9647d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainRegistrationDetailsFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainRegistrationDetailsFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.domains import android.app.Dialog @@ -5,7 +7,6 @@ import android.app.ProgressDialog import android.content.Context import android.os.Bundle import android.text.Editable -import android.text.Html import android.text.TextUtils import android.text.TextWatcher import android.text.method.LinkMovementMethod @@ -13,6 +14,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.EditText +import androidx.core.text.HtmlCompat import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider @@ -65,7 +67,7 @@ class DomainRegistrationDetailsFragment : Fragment() { private lateinit var viewModel: DomainRegistrationDetailsViewModel private lateinit var mainViewModel: DomainRegistrationMainViewModel - private var loadingProgressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var loadingProgressDialog: ProgressDialog? = null private var binding: DomainRegistrationDetailsFragmentBinding? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -164,12 +166,13 @@ class DomainRegistrationDetailsFragment : Fragment() { // make link to ToS clickable private fun DomainRegistrationDetailsFragmentBinding.setupTosLink() { - tosExplanation.text = Html.fromHtml( + tosExplanation.text = HtmlCompat.fromHtml( String.format( resources.getString(R.string.domain_registration_privacy_protection_tos), "", "" - ) + ), + HtmlCompat.FROM_HTML_MODE_LEGACY ) tosExplanation.movementMethod = LinkMovementMethod.getInstance() tosExplanation.setOnClickListener { @@ -277,6 +280,7 @@ class DomainRegistrationDetailsFragment : Fragment() { } // Something else, will just show a Toast with an error message } affectedInputFields?.forEach { + @Suppress("DEPRECATION") showFieldError(it, StringEscapeUtils.unescapeHtml4(error?.message)) } affectedInputFields?.firstOrNull { it.requestFocus() } @@ -372,12 +376,14 @@ class DomainRegistrationDetailsFragment : Fragment() { ) } + @Suppress("DEPRECATION") private fun showStatePicker(states: List) { val dialogFragment = StatePickerDialogFragment.newInstance(states.toCollection(ArrayList())) dialogFragment.setTargetFragment(this, 0) dialogFragment.show(requireFragmentManager(), StatePickerDialogFragment.TAG) } + @Suppress("DEPRECATION") private fun showCountryPicker(countries: List) { val dialogFragment = CountryPickerDialogFragment.newInstance( countries.toCollection( @@ -415,6 +421,7 @@ class DomainRegistrationDetailsFragment : Fragment() { } } + @Suppress("DEPRECATION") private fun showDomainRegistrationProgressDialog() { if (loadingProgressDialog == null) { loadingProgressDialog = ProgressDialog(context) @@ -459,7 +466,7 @@ class DomainRegistrationDetailsFragment : Fragment() { as ArrayList } - @Suppress("UseCheckOrError") + @Suppress("DEPRECATION", "UseCheckOrError") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { if (targetFragment == null) { throw IllegalStateException("StatePickerDialogFragment is missing a targetFragment ") @@ -510,7 +517,7 @@ class DomainRegistrationDetailsFragment : Fragment() { as ArrayList } - @Suppress("UseCheckOrError") + @Suppress("DEPRECATION", "UseCheckOrError") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { if (targetFragment == null) { throw IllegalStateException("CountryPickerDialogFragment is missing a targetFragment ") diff --git a/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainsDashboardFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainsDashboardFragment.kt index 8e02c8c87140..b3c55fd8a0c8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainsDashboardFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/domains/DomainsDashboardFragment.kt @@ -71,6 +71,7 @@ class DomainsDashboardFragment : Fragment(R.layout.domains_dashboard_fragment) { ) } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == RESULT_OK && requestCode == DOMAIN_REGISTRATION) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/history/HistoryDetailContainerFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/history/HistoryDetailContainerFragment.java index a5e3129894b3..ee0b274f0f28 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/history/HistoryDetailContainerFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/history/HistoryDetailContainerFragment.java @@ -207,6 +207,7 @@ private ArrayList mapRevisionModelsToRevisions(@Nullable final List setVisibilityForSelectedSites(boolean makeVisible) { return changeSet; } + @SuppressWarnings("deprecation") void loadSites() { new LoadSitesTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } @@ -710,6 +711,7 @@ public List getBlogsForCurrentView() { /* * AsyncTask which loads sites from database and populates the adapter */ + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadSitesTask extends AsyncTask { @Override diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainNavigationView.kt b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainNavigationView.kt index f02573018a7d..e9fcbf9a543d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainNavigationView.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainNavigationView.kt @@ -1,6 +1,5 @@ package org.wordpress.android.ui.main -import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater @@ -17,9 +16,9 @@ import androidx.fragment.app.FragmentManager import com.google.android.material.bottomnavigation.BottomNavigationItemView import com.google.android.material.bottomnavigation.BottomNavigationMenuView import com.google.android.material.bottomnavigation.BottomNavigationView -import com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemReselectedListener -import com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedListener -import com.google.android.material.bottomnavigation.LabelVisibilityMode +import com.google.android.material.navigation.NavigationBarView +import com.google.android.material.navigation.NavigationBarView.OnItemReselectedListener +import com.google.android.material.navigation.NavigationBarView.OnItemSelectedListener import org.wordpress.android.BuildConfig import org.wordpress.android.R import org.wordpress.android.ui.main.WPMainActivity.OnScrollToTopListener @@ -45,7 +44,7 @@ class WPMainNavigationView @JvmOverloads constructor( attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : BottomNavigationView(context, attrs, defStyleAttr), - OnNavigationItemSelectedListener, OnNavigationItemReselectedListener { + OnItemSelectedListener, OnItemReselectedListener { private lateinit var navAdapter: NavAdapter private lateinit var fragmentManager: FragmentManager private lateinit var pageListener: OnPageListener @@ -110,14 +109,13 @@ class WPMainNavigationView @JvmOverloads constructor( menu.removeItem(R.id.nav_reader) } - @SuppressLint("WrongConstant") private fun disableShiftMode() { - labelVisibilityMode = LabelVisibilityMode.LABEL_VISIBILITY_LABELED + labelVisibilityMode = NavigationBarView.LABEL_VISIBILITY_LABELED } private fun assignNavigationListeners(assign: Boolean) { - setOnNavigationItemSelectedListener(if (assign) this else null) - setOnNavigationItemReselectedListener(if (assign) this else null) + setOnItemSelectedListener(if (assign) this else null) + setOnItemReselectedListener(if (assign) this else null) } override fun onNavigationItemSelected(item: MenuItem): Boolean { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/media/ExoPlayerUtils.kt b/WordPress/src/main/java/org/wordpress/android/ui/media/ExoPlayerUtils.kt index 8c0f0ee5fa11..d5f80ab6123b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/media/ExoPlayerUtils.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/media/ExoPlayerUtils.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.media import android.content.Context @@ -22,8 +24,8 @@ import org.wordpress.android.ui.utils.AuthenticationUtils import javax.inject.Inject @Reusable -class ExoPlayerUtils -@Inject constructor( +@Suppress("DEPRECATION") +class ExoPlayerUtils @Inject constructor( private val authenticationUtils: AuthenticationUtils, private val appContext: Context ) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerActivity.kt index 5a9616978646..aed46bb692e2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerActivity.kt @@ -173,6 +173,7 @@ class MediaPickerActivity : LocaleAwareActivity(), MediaPickerListener { return super.onOptionsItemSelected(item) } + @Suppress("DEPRECATION", "LongMethod", "NestedBlockDepth") override fun onActivityResult( requestCode: Int, resultCode: Int, @@ -307,6 +308,7 @@ class MediaPickerActivity : LocaleAwareActivity(), MediaPickerListener { finish() } + @Suppress("DEPRECATION") override fun onIconClicked(action: MediaPickerAction) { when (action) { is OpenSystemPicker -> { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerFragment.kt index 5c4ec4302d32..a0c9462a796e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerFragment.kt @@ -7,7 +7,6 @@ import android.content.Intent.ACTION_OPEN_DOCUMENT import android.net.Uri import android.os.Bundle import android.os.Parcelable -import android.text.Html import android.view.LayoutInflater import android.view.Menu import android.view.MenuInflater @@ -19,6 +18,7 @@ import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog.Builder import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.SearchView +import androidx.core.text.HtmlCompat import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider @@ -426,7 +426,7 @@ class MediaPickerFragment : Fragment() { private fun MediaPickerFragmentBinding.setupSoftAskView(uiModel: SoftAskViewUiModel) { when (uiModel) { is SoftAskViewUiModel.Visible -> { - softAskView.title.text = Html.fromHtml(uiModel.label) + softAskView.title.text = HtmlCompat.fromHtml(uiModel.label, HtmlCompat.FROM_HTML_MODE_LEGACY) softAskView.button.setText(uiModel.allowId.stringRes) softAskView.button.setOnClickListener { if (uiModel.isAlwaysDenied) { @@ -460,11 +460,12 @@ class MediaPickerFragment : Fragment() { actionableEmptyView.title.text = uiHelpers.getTextOfUiString(requireContext(), uiModel.title) actionableEmptyView.subtitle.applyOrHide(uiModel.htmlSubtitle) { htmlSubtitle -> - actionableEmptyView.subtitle.text = Html.fromHtml( + actionableEmptyView.subtitle.text = HtmlCompat.fromHtml( uiHelpers.getTextOfUiString( requireContext(), htmlSubtitle - ).toString() + ).toString(), + HtmlCompat.FROM_HTML_MODE_LEGACY ) actionableEmptyView.subtitle.movementMethod = WPLinkMovementMethod.getInstance() } @@ -617,6 +618,7 @@ class MediaPickerFragment : Fragment() { viewModel.checkStoragePermission(isStoragePermissionAlwaysDenied) } + @Suppress("DEPRECATION") private fun requestStoragePermission() { val permissions = arrayOf(permission.WRITE_EXTERNAL_STORAGE, permission.READ_EXTERNAL_STORAGE) requestPermissions( @@ -624,6 +626,7 @@ class MediaPickerFragment : Fragment() { ) } + @Suppress("DEPRECATION") private fun requestCameraPermission() { // in addition to CAMERA permission we also need a storage permission, to store media from the camera val permissions = arrayOf( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceMediaLoader.kt b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceMediaLoader.kt index b48904ed4314..518ef5a0d159 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceMediaLoader.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceMediaLoader.kt @@ -119,6 +119,7 @@ class DeviceMediaLoader ) } + @Suppress("DEPRECATION") fun loadDocuments(filter: String?, pageSize: Int, limitDate: Long? = null): DeviceMediaList { val storagePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) val nextPage = (storagePublicDirectory?.listFiles() ?: arrayOf()).filter { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt index 4ead4088bd4d..963e21faa963 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt @@ -313,6 +313,7 @@ class MySiteFragment : Fragment(R.layout.my_site_fragment), binding?.viewPager?.getCurrentFragment()?.onNegativeClicked(instanceTag) } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) /* Add brief delay before passing result to nested (view pager) tab fragments to give them time to get created. diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteViewModel.kt index 9fd8aad7945e..0865b1b05416 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteViewModel.kt @@ -1,4 +1,4 @@ -@file:Suppress("MaximumLineLength") +@file:Suppress("DEPRECATION", "MaximumLineLength") package org.wordpress.android.ui.mysite @@ -83,8 +83,7 @@ import org.wordpress.android.ui.mysite.items.SiteItemsTracker import org.wordpress.android.ui.mysite.items.listitem.ListItemAction import org.wordpress.android.ui.mysite.tabs.MySiteTabType import org.wordpress.android.ui.pages.SnackbarMessageHolder -import org.wordpress.android.ui.photopicker.PhotoPickerActivity.PhotoPickerMediaSource -import org.wordpress.android.ui.photopicker.PhotoPickerActivity.PhotoPickerMediaSource.ANDROID_CAMERA +import org.wordpress.android.ui.photopicker.PhotoPickerActivity import org.wordpress.android.ui.posts.BasicDialogViewModel.DialogInteraction import org.wordpress.android.ui.posts.BasicDialogViewModel.DialogInteraction.Dismissed import org.wordpress.android.ui.posts.BasicDialogViewModel.DialogInteraction.Negative @@ -963,8 +962,13 @@ class MySiteViewModel @Inject constructor( quickStartTracker.track(Stat.QUICK_START_REMOVE_DIALOG_NEGATIVE_TAPPED) } - fun handleTakenSiteIcon(iconUrl: String?, source: PhotoPickerMediaSource?) { - val stat = if (source == ANDROID_CAMERA) Stat.MY_SITE_ICON_SHOT_NEW else Stat.MY_SITE_ICON_GALLERY_PICKED + @Suppress("DEPRECATION") + fun handleTakenSiteIcon(iconUrl: String?, source: PhotoPickerActivity.PhotoPickerMediaSource?) { + val stat = if (source == PhotoPickerActivity.PhotoPickerMediaSource.ANDROID_CAMERA) { + Stat.MY_SITE_ICON_SHOT_NEW + } else { + Stat.MY_SITE_ICON_GALLERY_PICKED + } analyticsTrackerWrapper.track(stat) val imageUri = Uri.parse(iconUrl)?.let { UriWrapper(it) } if (imageUri != null) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/tabs/MySiteTabFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/tabs/MySiteTabFragment.kt index 5e7ec4cc5beb..67ecb0aa0d9c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/tabs/MySiteTabFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/tabs/MySiteTabFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.mysite.tabs import android.app.Activity @@ -48,7 +50,7 @@ import org.wordpress.android.ui.mysite.jetpackbadge.JetpackPoweredBottomSheetFra import org.wordpress.android.ui.pages.SnackbarMessageHolder import org.wordpress.android.ui.photopicker.MediaPickerConstants import org.wordpress.android.ui.photopicker.MediaPickerLauncher -import org.wordpress.android.ui.photopicker.PhotoPickerActivity.PhotoPickerMediaSource +import org.wordpress.android.ui.photopicker.PhotoPickerActivity import org.wordpress.android.ui.posts.BasicDialogViewModel import org.wordpress.android.ui.posts.BasicDialogViewModel.BasicDialogModel import org.wordpress.android.ui.posts.EditPostActivity.EXTRA_IS_LANDING_EDITOR_OPENED_FOR_NEW_SITE @@ -197,7 +199,7 @@ class MySiteTabFragment : Fragment(R.layout.my_site_tab_fragment), } } - @Suppress("LongMethod") + @Suppress("DEPRECATION", "LongMethod") private fun MySiteTabFragmentBinding.setupObservers() { viewModel.uiModel.observe(viewLifecycleOwner, { uiModel -> hideRefreshIndicatorIfNeeded() @@ -448,7 +450,7 @@ class MySiteTabFragment : Fragment(R.layout.my_site_tab_fragment), binding = null } - @Suppress("ReturnCount", "LongMethod", "ComplexMethod") + @Suppress("DEPRECATION", "ReturnCount", "LongMethod", "ComplexMethod") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (data == null) { @@ -472,7 +474,7 @@ class MySiteTabFragment : Fragment(R.layout.my_site_tab_fragment), MediaPickerConstants.EXTRA_MEDIA_URIS ) ?: return - val source = PhotoPickerMediaSource.fromString( + val source = PhotoPickerActivity.PhotoPickerMediaSource.fromString( data.getStringExtra(MediaPickerConstants.EXTRA_MEDIA_SOURCE) ) val iconUrl = mediaUriStringsArray.getOrNull(0) ?: return diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailListFragment.kt index 14653df81242..d0c98246df8e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailListFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + /** * One fragment to rule them all (Notes, that is) */ @@ -100,6 +102,7 @@ class NotificationsDetailListFragment : ListFragment(), NotificationFragment { return view } + @Suppress("DEPRECATION") override fun onActivityCreated(bundle: Bundle?) { super.onActivityCreated(bundle) val listView = listView @@ -185,6 +188,7 @@ class NotificationsDetailListFragment : ListFragment(), NotificationFragment { super.onSaveInstanceState(outState) } + @Suppress("DEPRECATION") private fun reloadNoteBlocks() { LoadNoteBlocksTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) } @@ -313,6 +317,7 @@ class NotificationsDetailListFragment : ListFragment(), NotificationFragment { // Loop through the 'body' items in this note, and create blocks for each. // TODO replace this inner async task with a coroutine + @Suppress("DEPRECATION") @SuppressLint("StaticFieldLeak") private inner class LoadNoteBlocksTask : AsyncTask?>() { private var mIsBadgeView = false @@ -494,6 +499,7 @@ class NotificationsDetailListFragment : ListFragment(), NotificationFragment { return hasRangeOfTypePost && hasRangeOfTypeSite } + @Suppress("DEPRECATION") private fun buildGeneratedLinkBlock( onNoteBlockTextClickListener: OnNoteBlockTextClickListener, pingbackUrl: String?, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragment.kt index ab2a33f11aae..68f986576c2e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragment.kt @@ -1,16 +1,18 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.notifications import android.app.Activity import android.content.Intent import android.os.Bundle import android.os.Parcelable -import android.text.Html import android.text.TextUtils import android.view.Menu import android.view.MenuInflater import android.view.MenuItem import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.core.text.HtmlCompat import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentPagerAdapter @@ -67,6 +69,7 @@ class NotificationsListFragment : Fragment(R.layout.notifications_list_fragment) private var lastTabPosition = 0 private var binding: NotificationsListFragmentBinding? = null + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) if (savedInstanceState != null) { @@ -108,8 +111,9 @@ class NotificationsListFragment : Fragment(R.layout.notifications_list_fragment) viewPager.pageMargin = resources.getDimensionPixelSize(R.dimen.margin_extra_large) tabLayout.setupWithViewPager(viewPager) - jetpackTermsAndConditions.text = Html.fromHtml( - String.format(resources.getString(R.string.jetpack_connection_terms_and_conditions), "", "") + jetpackTermsAndConditions.text = HtmlCompat.fromHtml( + String.format(resources.getString(R.string.jetpack_connection_terms_and_conditions), "", ""), + HtmlCompat.FROM_HTML_MODE_LEGACY ) jetpackTermsAndConditions.setOnClickListener { WPWebViewActivity.openURL(requireContext(), WPUrlUtils.buildTermsOfServiceUrl(context)) @@ -199,6 +203,7 @@ class NotificationsListFragment : Fragment(R.layout.notifications_list_fragment) } } + @Suppress("DEPRECATION") private class NotificationsFragmentAdapter( fragmentManager: FragmentManager, private val titles: List diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragmentPage.kt b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragmentPage.kt index 0c8dc432ae59..cec68b5e921e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragmentPage.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsListFragmentPage.kt @@ -80,6 +80,7 @@ class NotificationsListFragmentPage : ViewPagerFragment(R.layout.notifications_l fun onClickNote(noteId: String?) } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) val adapter = createOrGetNotesAdapter() @@ -97,6 +98,7 @@ class NotificationsListFragmentPage : ViewPagerFragment(R.layout.notifications_l } } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == RequestCodes.NOTE_DETAIL) { shouldRefreshNotifications = false diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/adapters/NotesAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/notifications/adapters/NotesAdapter.java index 89457cb3e014..e4943c10d23b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/adapters/NotesAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/adapters/NotesAdapter.java @@ -253,7 +253,7 @@ public void onBindViewHolder(NoteViewHolder noteViewHolder, int position) { // Subject is stored in db as html to preserve text formatting Spanned noteSubjectSpanned = note.getFormattedSubject(mNotificationsUtilsWrapper); - // Trim the '\n\n' added by Html.fromHtml() + // Trim the '\n\n' added by HtmlCompat.fromHtml(...) noteSubjectSpanned = (Spanned) noteSubjectSpanned.subSequence(0, TextUtils.getTrimmedLength(noteSubjectSpanned)); @@ -349,12 +349,14 @@ public void cancelReloadNotesTask() { } } + @SuppressWarnings("deprecation") public void reloadNotesFromDBAsync() { cancelReloadNotesTask(); mReloadNotesFromDBTask = new ReloadNotesFromDBTask(); mReloadNotesFromDBTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class ReloadNotesFromDBTask extends AsyncTask> { @Override diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/blocks/CommentUserNoteBlock.java b/WordPress/src/main/java/org/wordpress/android/ui/notifications/blocks/CommentUserNoteBlock.java index 579ee085100f..ea1a1b3907c0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/blocks/CommentUserNoteBlock.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/blocks/CommentUserNoteBlock.java @@ -2,7 +2,6 @@ import android.annotation.SuppressLint; import android.content.Context; -import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; @@ -11,6 +10,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.core.text.HtmlCompat; import androidx.core.view.ViewCompat; import org.wordpress.android.R; @@ -85,7 +85,10 @@ public View configureView(View view) { private void setUserName() { mNoteBlockHolder.mNameTextView.setText( - Html.fromHtml("" + getNoteText().toString() + "") + HtmlCompat.fromHtml( + "" + getNoteText().toString() + "", + HtmlCompat.FROM_HTML_MODE_LEGACY + ) ); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/pages/PagesFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/pages/PagesFragment.kt index 640861dca3ae..accf0ef165e2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/pages/PagesFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/pages/PagesFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.pages import android.annotation.SuppressLint @@ -91,7 +93,7 @@ class PagesFragment : Fragment(R.layout.pages_fragment), ScrollableViewInitializ @Inject lateinit var uploadActionUseCase: UploadActionUseCase @Inject lateinit var uploadUtilsWrapper: UploadUtilsWrapper - private var progressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var progressDialog: ProgressDialog? = null private var restorePreviousSearch = false @@ -137,6 +139,7 @@ class PagesFragment : Fragment(R.layout.pages_fragment), ScrollableViewInitializ binding = null } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == RequestCodes.EDIT_POST && resultCode == Activity.RESULT_OK && data != null) { if (EditPostActivity.checkToRestart(data)) { @@ -576,6 +579,7 @@ class PagesFragment : Fragment(R.layout.pages_fragment), ScrollableViewInitializ } } +@Suppress("DEPRECATION") class PagesPagerAdapter(val context: Context, val fm: FragmentManager) : FragmentPagerAdapter( fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT diff --git a/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleInviteDialogFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleInviteDialogFragment.kt index 972dca0ffa4d..677cae993179 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleInviteDialogFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/people/PeopleInviteDialogFragment.kt @@ -36,6 +36,7 @@ class PeopleInviteDialogFragment : DialogFragment() { (requireActivity().applicationContext as WordPress).component().inject(this) } + @Suppress("DEPRECATION") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { viewModel = ViewModelProvider( targetFragment as ViewModelStoreOwner, viewModelFactory @@ -78,6 +79,7 @@ class PeopleInviteDialogFragment : DialogFragment() { @JvmStatic @JvmOverloads + @Suppress("DEPRECATION") fun newInstance( fragment: Fragment, dialogMode: DialogMode, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/people/RoleSelectDialogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/people/RoleSelectDialogFragment.java index e7d6c4bdf029..335ed42f5d87 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/people/RoleSelectDialogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/people/RoleSelectDialogFragment.java @@ -34,6 +34,7 @@ public void onCreate(Bundle savedInstanceState) { } @Override + @SuppressWarnings("deprecation") public Dialog onCreateDialog(Bundle savedInstanceState) { SiteModel site = (SiteModel) getArguments().getSerializable(WordPress.SITE); final List inviteRoles = RoleUtils.getInviteRoles(mSiteStore, site, mContextProvider.getContext()); @@ -59,6 +60,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { return builder.create(); } + @SuppressWarnings("deprecation") public static void show(T parentFragment, int requestCode, @NonNull SiteModel site) { RoleSelectDialogFragment roleChangeDialogFragment = new RoleSelectDialogFragment(); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/photopicker/MediaPickerLauncher.kt b/WordPress/src/main/java/org/wordpress/android/ui/photopicker/MediaPickerLauncher.kt index 0624cf575cbf..608e14800ee1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/photopicker/MediaPickerLauncher.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/photopicker/MediaPickerLauncher.kt @@ -73,6 +73,7 @@ class MediaPickerLauncher @Inject constructor( activity.startActivityForResult(intent, RequestCodes.PHOTO_PICKER) } + @Suppress("DEPRECATION") fun showSiteIconPicker( fragment: Fragment, site: SiteModel? @@ -127,6 +128,7 @@ class MediaPickerLauncher @Inject constructor( showStoriesPhotoPickerForResult(activity, site) } + @Suppress("DEPRECATION") fun showStoriesPhotoPickerForResult( activity: Activity, site: SiteModel? @@ -134,6 +136,7 @@ class MediaPickerLauncher @Inject constructor( ActivityLauncher.showPhotoPickerForResult(activity, WP_STORIES_MEDIA_PICKER, site, null) } + @Suppress("DEPRECATION") fun showGravatarPicker(fragment: Fragment) { val mediaPickerSetup = MediaPickerSetup( primaryDataSource = DEVICE, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/photopicker/PhotoPickerFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/photopicker/PhotoPickerFragment.kt index 55fdb5d6b6c6..c0a52b9e784f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/photopicker/PhotoPickerFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/photopicker/PhotoPickerFragment.kt @@ -4,12 +4,12 @@ import android.Manifest.permission import android.net.Uri import android.os.Bundle import android.os.Parcelable -import android.text.Html import android.view.View import android.widget.PopupMenu import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog.Builder import androidx.appcompat.app.AppCompatActivity +import androidx.core.text.HtmlCompat import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider @@ -194,7 +194,7 @@ class PhotoPickerFragment : Fragment(R.layout.photo_picker_fragment) { private fun PhotoPickerFragmentBinding.setupSoftAskView(uiModel: SoftAskViewUiModel) { when (uiModel) { is SoftAskViewUiModel.Visible -> { - softAskView.title.text = Html.fromHtml(uiModel.label) + softAskView.title.text = HtmlCompat.fromHtml(uiModel.label, HtmlCompat.FROM_HTML_MODE_LEGACY) softAskView.button.setText(uiModel.allowId.stringRes) softAskView.button.setOnClickListener { if (uiModel.isAlwaysDenied) { @@ -408,6 +408,7 @@ class PhotoPickerFragment : Fragment(R.layout.photo_picker_fragment) { viewModel.checkStoragePermission(isStoragePermissionAlwaysDenied) } + @Suppress("DEPRECATION") private fun requestStoragePermission() { val permissions = arrayOf(permission.WRITE_EXTERNAL_STORAGE) requestPermissions( @@ -415,6 +416,7 @@ class PhotoPickerFragment : Fragment(R.layout.photo_picker_fragment) { ) } + @Suppress("DEPRECATION") private fun requestCameraPermission() { // in addition to CAMERA permission we also need a storage permission, to store media from the camera val permissions = arrayOf( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginDetailActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginDetailActivity.java index 656973841b2e..f218343e1467 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginDetailActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginDetailActivity.java @@ -7,7 +7,6 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; -import android.text.Html; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; @@ -30,6 +29,7 @@ import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.Toolbar; import androidx.cardview.widget.CardView; +import androidx.core.text.HtmlCompat; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.FragmentTransaction; @@ -572,7 +572,8 @@ private void refreshViews() { } mByLineTextView.setMovementMethod(WPLinkMovementMethod.getInstance()); if (!TextUtils.isEmpty(mPlugin.getAuthorAsHtml())) { - mByLineTextView.setText(Html.fromHtml(mPlugin.getAuthorAsHtml())); + //noinspection ConstantConditions + mByLineTextView.setText(HtmlCompat.fromHtml(mPlugin.getAuthorAsHtml(), HtmlCompat.FROM_HTML_MODE_LEGACY)); } else { String authorName = mPlugin.getAuthorName(); String authorUrl = mPlugin.getAuthorUrl(); @@ -582,7 +583,7 @@ private void refreshViews() { String authorLink = "" + authorName + ""; String byline = String.format(getString(R.string.plugin_byline), authorLink); mByLineTextView.setMovementMethod(WPLinkMovementMethod.getInstance()); - mByLineTextView.setText(Html.fromHtml(byline)); + mByLineTextView.setText(HtmlCompat.fromHtml(byline, HtmlCompat.FROM_HTML_MODE_LEGACY)); } } @@ -603,7 +604,8 @@ private void setCollapsibleHtmlText(@NonNull TextView textView, @Nullable String if (!TextUtils.isEmpty(htmlText)) { textView.setTextColor(ContextExtensionsKt.getColorFromAttribute(this, R.attr.colorOnSurface)); textView.setMovementMethod(WPLinkMovementMethod.getInstance()); - textView.setText(Html.fromHtml(htmlText)); + //noinspection ConstantConditions + textView.setText(HtmlCompat.fromHtml(htmlText, HtmlCompat.FROM_HTML_MODE_LEGACY)); } else { textView.setTextColor( ContextExtensionsKt.getColorStateListFromAttribute(this, R.attr.wpColorOnSurfaceMedium)); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginListFragment.java index f60c86d93796..b1190194e66d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/plugins/PluginListFragment.java @@ -80,6 +80,7 @@ public void onCreate(Bundle savedInstanceState) { } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // this enables us to clear the search icon in onCreateOptionsMenu when the list isn't showing search results diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java index 6e6770acbaa5..8f4ff2af5181 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java @@ -179,6 +179,7 @@ public void onCreate(Bundle savedInstanceState) { } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt index 35a31af3a47c..0a0dc034052e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.posts import android.app.Activity @@ -105,7 +107,7 @@ class PostsListActivity : LocaleAwareActivity(), private var restorePreviousSearch = false - private var progressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var progressDialog: ProgressDialog? = null private var onPageChangeListener: OnPageChangeListener = object : OnPageChangeListener { override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {} @@ -456,6 +458,7 @@ class PostsListActivity : LocaleAwareActivity(), postListCreateMenuViewModel.onResume() } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsPagerAdapter.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsPagerAdapter.kt index 49368e9b51fd..efc49af11b30 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsPagerAdapter.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsPagerAdapter.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.posts import android.view.ViewGroup @@ -7,6 +9,7 @@ import org.wordpress.android.WordPress import org.wordpress.android.fluxc.model.SiteModel import java.lang.ref.WeakReference +@Suppress("DEPRECATION") class PostsPagerAdapter( private val pages: List, private val site: SiteModel, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/ProgressDialogHelper.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/ProgressDialogHelper.kt index e65b66a0d56a..e2a2fb5c0e5c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/ProgressDialogHelper.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/ProgressDialogHelper.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.posts import android.app.ProgressDialog @@ -22,6 +24,7 @@ class ProgressDialogHelper @Inject constructor() { * * @return The resulting dialog with its (eventually) modified state. Can be {@code null} */ + @Suppress("DEPRECATION") fun updateProgressDialogState( context: Context, dialog: ProgressDialog?, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecImageLoader.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecImageLoader.kt index 37c19f8382a8..d063777ffcf2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecImageLoader.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecImageLoader.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.posts.services import android.content.Context @@ -33,7 +35,7 @@ class AztecImageLoader( private val imageManager: ImageManager, private val loadingInProgress: Drawable ) : Html.ImageGetter { - private val targets = ArrayList>>() + @Suppress("DEPRECATION") private val targets = ArrayList>>() private val mRequestsInProgress = ArrayList() override fun loadImage(url: String, callbacks: Html.ImageGetter.Callbacks, maxWidth: Int) { @@ -43,7 +45,7 @@ class AztecImageLoader( override fun loadImage(url: String, callbacks: Html.ImageGetter.Callbacks, maxSize: Int, minWidth: Int) { mRequestsInProgress.add(url) - val target = object : BaseTarget() { + @Suppress("DEPRECATION") val target = object : BaseTarget() { override fun onLoadStarted(placeholder: Drawable?) { callbacks.onImageLoading(loadingInProgress) } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecVideoLoader.java b/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecVideoLoader.java index c4ce120743ac..0b7cc7a13cfb 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecVideoLoader.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/services/AztecVideoLoader.java @@ -47,6 +47,7 @@ public void loadVideoThumbnail(final String url, final Html.VideoThumbnailGetter new LoadAztecVideoTask(mContext, mAuthenticationUtils, url, maxWidth, callbacks).execute(); } + @SuppressWarnings("deprecation") private static class LoadAztecVideoTask extends AsyncTask { final String mUrl; final int mMaxWidth; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java index 6c2c4945699e..72529eb9c4cc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java @@ -139,6 +139,7 @@ private void updateLabel(WPTextView textView, String text) { } // helper method to create onClickListener to avoid code duplication + @SuppressWarnings("deprecation") private View.OnClickListener createOnClickListener(final String dialogTitle, final String hint, final WPTextView textView, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/PreferenceFragmentLifeCycleOwner.kt b/WordPress/src/main/java/org/wordpress/android/ui/prefs/PreferenceFragmentLifeCycleOwner.kt index 02f537ee4c49..a6f56acc3e68 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/PreferenceFragmentLifeCycleOwner.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/PreferenceFragmentLifeCycleOwner.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.prefs import android.os.Bundle @@ -21,7 +23,7 @@ import androidx.lifecycle.coroutineScope * which supports the use of lifecycleCoroutineScope for observing Live data or Flows. * https://developer.android.com/topic/libraries/architecture/lifecycle#implementing-lco */ -@SuppressWarnings("deprecation") +@Suppress("DEPRECATION") open class PreferenceFragmentLifeCycleOwner : PreferenceFragment(), LifecycleOwner { private lateinit var lifecycleRegistry: LifecycleRegistry diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java index c0ca164b3374..7abbf136f9da 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java @@ -3,12 +3,12 @@ import android.content.Context; import android.database.Cursor; import android.os.Handler; -import android.text.Html; import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.collection.SparseArrayCompat; +import androidx.core.text.HtmlCompat; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -285,7 +285,10 @@ public int getPrivacy() { SparseArrayCompat categoryNames = new SparseArrayCompat<>(); if (mSettings.categories != null && mSettings.categories.length > 0) { for (CategoryModel model : mSettings.categories) { - categoryNames.put(model.id, Html.fromHtml(model.name).toString()); + categoryNames.put( + model.id, + HtmlCompat.fromHtml(model.name, HtmlCompat.FROM_HTML_MODE_LEGACY).toString() + ); } } @@ -299,7 +302,7 @@ public int getDefaultCategory() { public @NonNull String getDefaultCategoryForDisplay() { for (CategoryModel model : getCategories()) { if (model != null && model.id == getDefaultCategory()) { - return Html.fromHtml(model.name).toString(); + return HtmlCompat.fromHtml(model.name, HtmlCompat.FROM_HTML_MODE_LEGACY).toString(); } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/accountsettings/AccountSettingsFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/prefs/accountsettings/AccountSettingsFragment.kt index 8bdc8383c718..edb84b282217 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/accountsettings/AccountSettingsFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/accountsettings/AccountSettingsFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.prefs.accountsettings import android.app.ProgressDialog @@ -67,7 +69,7 @@ class AccountSettingsFragment : PreferenceFragmentLifeCycleOwner(), private lateinit var primarySitePreference: DetailListPreference private lateinit var webAddressPreference: EditTextPreferenceWithValidation private lateinit var changePasswordPreference: EditTextPreferenceWithValidation - private var changePasswordProgressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var changePasswordProgressDialog: ProgressDialog? = null private var emailSnackbar: Snackbar? = null @Deprecated("Deprecated") @@ -318,6 +320,7 @@ class AccountSettingsFragment : PreferenceFragmentLifeCycleOwner(), changePasswordProgressDialog?.show() } + @Suppress("DEPRECATION") private fun createChangePasswordDialogIfNull() { if (changePasswordProgressDialog == null) { changePasswordProgressDialog = ProgressDialog(activity).apply { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/categories/detail/CategoryDetailFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/prefs/categories/detail/CategoryDetailFragment.kt index 7ff85042dc37..ab23893720ea 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/categories/detail/CategoryDetailFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/categories/detail/CategoryDetailFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.prefs.categories.detail import android.app.ProgressDialog @@ -32,7 +34,7 @@ class CategoryDetailFragment : Fragment(R.layout.category_detail_fragment) { private lateinit var categoryAdapter: ParentCategorySpinnerAdapter private var spinnerTouched: Boolean = false - private var progressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var progressDialog: ProgressDialog? = null override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -146,6 +148,7 @@ class CategoryDetailFragment : Fragment(R.layout.category_detail_fragment) { categoryAdapter.replaceItems(categoryLevels) } + @Suppress("DEPRECATION") private fun showProgressDialog(@StringRes messageId: Int) { progressDialog = ProgressDialog(requireContext()) progressDialog?.apply { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/publicize/PublicizeWebViewFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/publicize/PublicizeWebViewFragment.java index 2a284e76a5e4..8644943757db 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/publicize/PublicizeWebViewFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/publicize/PublicizeWebViewFragment.java @@ -110,6 +110,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/publicize/adapters/PublicizeServiceAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/publicize/adapters/PublicizeServiceAdapter.java index 68f7944afb4a..b2346a0aada4 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/publicize/adapters/PublicizeServiceAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/publicize/adapters/PublicizeServiceAdapter.java @@ -72,6 +72,7 @@ public void setOnServiceClickListener(OnServiceClickListener listener) { mServiceClickListener = listener; } + @SuppressWarnings("deprecation") public void refresh() { if (!mIsTaskRunning) { new LoadServicesTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); @@ -173,6 +174,7 @@ class SharingViewHolder extends RecyclerView.ViewHolder { } } + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadServicesTask extends AsyncTask { private final PublicizeServiceList mTmpServices = new PublicizeServiceList(); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index cfecbc81c54f..7e6c66578558 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -138,6 +138,7 @@ private void checkEmptyView() { } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mRecyclerView.setAdapter(getBlogAdapter()); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFileDownloadManager.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFileDownloadManager.kt index 7e04bc2f173e..ff6586dc5466 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFileDownloadManager.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFileDownloadManager.kt @@ -23,6 +23,7 @@ class ReaderFileDownloadManager } } + @Suppress("DEPRECATION") fun downloadFile(fileUrl: String) { val request = downloadManager.buildRequest(fileUrl) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.kt index 61d9f68fb86d..872601ff767d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.kt @@ -339,6 +339,7 @@ class ReaderPostDetailFragment : ViewPagerFragment(), } } + @Suppress("DEPRECATION") private fun initAppBar(view: View) { appBar = view.findViewById(R.id.appbar_with_collapsing_toolbar_layout) toolBar = appBar.findViewById(R.id.toolbar_main) @@ -1257,6 +1258,7 @@ class ReaderPostDetailFragment : ViewPagerFragment(), } } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { @@ -1397,7 +1399,7 @@ class ReaderPostDetailFragment : ViewPagerFragment(), viewModel.onShowPost(blogId = blogId, postId = postId) } - @Suppress("unused") + @Suppress("unused", "DEPRECATION") @Subscribe(threadMode = ThreadMode.MAIN) fun onPrivateAtomicCookieFetched(event: OnPrivateAtomicCookieFetched) { if (!isAdded) { @@ -1459,6 +1461,7 @@ class ReaderPostDetailFragment : ViewPagerFragment(), return false } + @Suppress("DEPRECATION") private fun ReaderPostDetailFragment.showPostInWebView(post: ReaderPost) { readerWebView.setIsPrivatePost(post.isPrivate) readerWebView.setBlogSchemeIsHttps(UrlUtils.isHttps(post.blogUrl)) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index cbb647793e97..d2000b75aea1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -5,7 +5,6 @@ import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; @@ -26,6 +25,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SearchView; import androidx.core.content.ContextCompat; +import androidx.core.text.HtmlCompat; import androidx.fragment.app.FragmentManager; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.RecyclerView; @@ -419,7 +419,9 @@ public void onCreate(Bundle savedInstanceState) { } } - @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { + @Override + @SuppressWarnings("deprecation") + public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mViewModel = new ViewModelProvider(this, mViewModelFactory) .get(ReaderPostListViewModel.class); @@ -1793,7 +1795,9 @@ private void setEmptyTitleDescriptionAndButton(@NonNull String title, String des mActionableEmptyView.subtitle.setVisibility(View.VISIBLE); if (description.contains("<") && description.contains(">")) { - mActionableEmptyView.subtitle.setText(Html.fromHtml(description)); + mActionableEmptyView.subtitle.setText( + HtmlCompat.fromHtml(description, HtmlCompat.FROM_HTML_MODE_LEGACY) + ); } else { mActionableEmptyView.subtitle.setText(description); } @@ -2666,9 +2670,13 @@ public void onFollowTapped(View view, String blogName, final long blogId, final : blogName; if (blogId > 0) { - WPSnackbar.make(getSnackbarParent(), Html.fromHtml(getString(R.string.reader_followed_blog_notifications, - "", blog, "")), Snackbar.LENGTH_LONG) - .setAction(getString(R.string.reader_followed_blog_notifications_action), + WPSnackbar.make(getSnackbarParent(), + HtmlCompat.fromHtml( + getString(R.string.reader_followed_blog_notifications, "", blog, ""), + HtmlCompat.FROM_HTML_MODE_LEGACY + ), + Snackbar.LENGTH_LONG + ).setAction(getString(R.string.reader_followed_blog_notifications_action), new View.OnClickListener() { @Override public void onClick(View view) { mReaderTracker.trackBlog( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index 1408479bbd21..ee2a37de089f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -56,6 +56,7 @@ private void checkEmptyView() { } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mRecyclerView.setAdapter(getTagAdapter()); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java index 425d22ce2f73..b5a13fd86dec 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java @@ -90,6 +90,7 @@ public void setBlogClickListener(BlogClickListener listener) { mClickListener = listener; } + @SuppressWarnings("deprecation") public void refresh() { if (mIsTaskRunning) { AppLog.w(T.READER, "load blogs task is already running"); @@ -263,6 +264,7 @@ private void toggleFollow(Context context, ReaderFollowButton followButton, Read } } + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadBlogsTask extends AsyncTask { private ReaderBlogList mTmpFollowedBlogs; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderCommentAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderCommentAdapter.java index 37c65ead466d..c307f6552667 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderCommentAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderCommentAdapter.java @@ -232,6 +232,7 @@ public int getItemViewType(int position) { return position == 0 ? VIEW_TYPE_HEADER : VIEW_TYPE_COMMENT; } + @SuppressWarnings("deprecation") public void refreshComments() { if (mIsTaskRunning) { AppLog.w(T.READER, "reader comment adapter > Load comments task already running"); @@ -658,6 +659,7 @@ public void setAnimateLikeCommentId(long commentId) { */ private boolean mIsTaskRunning = false; + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadCommentsTask extends AsyncTask { private ReaderCommentList mTmpComments; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderPostAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderPostAdapter.java index 9afd6bf19778..26042cec2044 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderPostAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderPostAdapter.java @@ -633,6 +633,7 @@ public void reload() { loadPosts(); } + @SuppressWarnings("deprecation") private void loadPosts() { if (mIsTaskRunning) { AppLog.w(AppLog.T.READER, "reader posts task already running"); @@ -748,6 +749,7 @@ public void removeGapMarker() { */ private boolean mIsTaskRunning = false; + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadPostsTask extends AsyncTask { private ReaderPostList mAllPosts; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index a5c37fea604b..1ae006a4d7d7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -66,6 +66,7 @@ private Context getContext() { return mWeakContext.get(); } + @SuppressWarnings("deprecation") public void refresh() { if (mIsTaskRunning) { AppLog.w(T.READER, "tag task is already running"); @@ -153,6 +154,7 @@ class TagViewHolder extends RecyclerView.ViewHolder { */ private boolean mIsTaskRunning = false; + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class LoadTagsTask extends AsyncTask { @Override diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverFragment.kt index 85dcc62696c9..5f8b56521b31 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverFragment.kt @@ -221,6 +221,7 @@ class ReaderDiscoverFragment : ViewPagerFragment(R.layout.reader_discover_fragme return binding?.recyclerView } + @Suppress("DEPRECATION") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == RequestCodes.SITE_PICKER && resultCode == Activity.RESULT_OK && data != null) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt index 1f8356090f53..e6730590e798 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.reader.subfilter import android.content.Context @@ -133,6 +135,7 @@ class SubfilterPageFragment : DaggerFragment() { } } +@Suppress("DEPRECATION") class SubfilterPagerAdapter( val context: Context, val fm: FragmentManager, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java index 4c43cea1690f..719ec117d8d7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java @@ -1,10 +1,10 @@ package org.wordpress.android.ui.reader.utils; import android.net.Uri; -import android.text.Html; import android.text.Spanned; import androidx.annotation.NonNull; +import androidx.core.text.HtmlCompat; import org.wordpress.android.models.ReaderPost; @@ -45,7 +45,7 @@ public static Spanned getXPostSubtitleHtml(@NonNull ReaderPost post) { "" + getFromSiteName(post) + "", "" + getToSiteName(post) + ""); - return Html.fromHtml(subtitle); + return HtmlCompat.fromHtml(subtitle, HtmlCompat.FROM_HTML_MODE_LEGACY); } // origin site name can be extracted from the excerpt, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderLikingUsersView.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderLikingUsersView.java index 6f302ca73185..d8a025242a6c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderLikingUsersView.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderLikingUsersView.java @@ -109,6 +109,7 @@ private void showLikingAvatars(final ArrayList avatarUrls) { } } + @SuppressWarnings("deprecation") private static class LoadAvatarsTask extends AsyncTask> { private final WeakReference mViewReference; private final long mCurrentUserId; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/misc/SearchInputWithHeader.kt b/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/misc/SearchInputWithHeader.kt index b100c5ce2d78..3f60ac1f9ea8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/misc/SearchInputWithHeader.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/misc/SearchInputWithHeader.kt @@ -2,6 +2,7 @@ package org.wordpress.android.ui.sitecreation.misc import android.content.Context import android.os.Handler +import android.os.Looper import android.text.Editable import android.text.TextWatcher import android.view.View @@ -20,7 +21,7 @@ class SearchInputWithHeader(private val uiHelpers: UiHelpers, rootView: View, on private val progressBar = rootView.findViewById(R.id.progress_bar) private val clearAllLayout = rootView.findViewById(R.id.clear_all_layout) private val divider = rootView.findViewById(R.id.divider) - private val showKeyboardHandler = Handler() + private val showKeyboardHandler = Handler(Looper.getMainLooper()) var onTextChanged: ((String) -> Unit)? = null diff --git a/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/previews/SiteCreationPreviewFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/previews/SiteCreationPreviewFragment.kt index b625ffadc3cf..a03fa7879831 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/previews/SiteCreationPreviewFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/sitecreation/previews/SiteCreationPreviewFragment.kt @@ -83,6 +83,7 @@ class SiteCreationPreviewFragment : SiteCreationBaseFormFragment(), } } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsConnectJetpackActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsConnectJetpackActivity.kt index 705319319d56..3d4d30ed1910 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsConnectJetpackActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsConnectJetpackActivity.kt @@ -1,9 +1,9 @@ package org.wordpress.android.ui.stats import android.os.Bundle -import android.text.Html import android.text.TextUtils import android.view.MenuItem +import androidx.core.text.HtmlCompat import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode.MAIN import org.wordpress.android.R.string @@ -80,8 +80,9 @@ class StatsConnectJetpackActivity : LocaleAwareActivity() { jetpackFaq.setOnClickListener { WPWebViewActivity.openURL(this@StatsConnectJetpackActivity, FAQ_URL) } - jetpackTermsAndConditions.text = Html.fromHtml( - String.format(resources.getString(string.jetpack_connection_terms_and_conditions), "", "") + jetpackTermsAndConditions.text = HtmlCompat.fromHtml( + String.format(resources.getString(string.jetpack_connection_terms_and_conditions), "", ""), + HtmlCompat.FROM_HTML_MODE_LEGACY ) jetpackTermsAndConditions.setOnClickListener { WPWebViewActivity.openURL( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewAllFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewAllFragment.kt index e3f02368bb62..9f71cecc0225 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewAllFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewAllFragment.kt @@ -132,6 +132,7 @@ class StatsViewAllFragment : DaggerFragment(R.layout.stats_view_all_fragment) { binding = null } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/configuration/StatsWidgetConfigureFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/configuration/StatsWidgetConfigureFragment.kt index 724c01b847b5..2982e58206ff 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/configuration/StatsWidgetConfigureFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/configuration/StatsWidgetConfigureFragment.kt @@ -71,6 +71,7 @@ class StatsWidgetConfigureFragment : DaggerFragment() { return inflater.inflate(R.layout.stats_widget_configure_fragment, container, false) } + @Suppress("DEPRECATION", "LongMethod") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val nonNullActivity = requireActivity() diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/minified/StatsMinifiedWidgetConfigureFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/minified/StatsMinifiedWidgetConfigureFragment.kt index bf21fa91db5e..f1f11ee6bc2a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/minified/StatsMinifiedWidgetConfigureFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/minified/StatsMinifiedWidgetConfigureFragment.kt @@ -39,6 +39,7 @@ class StatsMinifiedWidgetConfigureFragment : DaggerFragment(R.layout.stats_widge private lateinit var colorSelectionViewModel: StatsColorSelectionViewModel private lateinit var dataTypeSelectionViewModel: StatsDataTypeSelectionViewModel + @Suppress("DEPRECATION", "LongMethod") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val nonNullActivity = requireActivity() diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/BarChartAccessibilityHelper.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/BarChartAccessibilityHelper.kt index 87ba94edda20..5e558312ac11 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/BarChartAccessibilityHelper.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/BarChartAccessibilityHelper.kt @@ -59,6 +59,7 @@ class BarChartAccessibilityHelper( return false } + @Suppress("DEPRECATION") override fun onPopulateNodeForVirtualView( virtualViewId: Int, node: AccessibilityNodeInfoCompat diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/LineChartAccessibilityHelper.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/LineChartAccessibilityHelper.kt index 7a0a0baba7e1..2031b4edcd0f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/LineChartAccessibilityHelper.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/LineChartAccessibilityHelper.kt @@ -61,6 +61,7 @@ class LineChartAccessibilityHelper( return false } + @Suppress("DEPRECATION") override fun onPopulateNodeForVirtualView( virtualViewId: Int, node: AccessibilityNodeInfoCompat diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stockmedia/StockMediaPickerActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/stockmedia/StockMediaPickerActivity.java index 98529b38fbce..cbffe240c14e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stockmedia/StockMediaPickerActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/stockmedia/StockMediaPickerActivity.java @@ -4,7 +4,6 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; -import android.text.Html; import android.text.Spanned; import android.text.TextUtils; import android.view.MenuItem; @@ -20,6 +19,7 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.Toolbar; +import androidx.core.text.HtmlCompat; import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -318,7 +318,10 @@ private void showEmptyView(boolean show) { if (isEmpty) { actionableEmptyView.title.setText(R.string.stock_media_picker_initial_empty_text); String link = "Pexels"; - Spanned html = Html.fromHtml(getString(R.string.stock_media_picker_initial_empty_subtext, link)); + Spanned html = HtmlCompat.fromHtml( + getString(R.string.stock_media_picker_initial_empty_subtext, link), + HtmlCompat.FROM_HTML_MODE_LEGACY + ); actionableEmptyView.subtitle.setText(html); actionableEmptyView.getSubtitle().setMovementMethod(WPLinkMovementMethod.getInstance()); actionableEmptyView.subtitle.setVisibility(View.VISIBLE); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stories/StoryComposerActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/stories/StoryComposerActivity.kt index ff4489a19f9d..7c075b1659b7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stories/StoryComposerActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stories/StoryComposerActivity.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.stories import android.app.Activity @@ -123,7 +125,7 @@ class StoryComposerActivity : ComposeLoopFrameActivity(), private lateinit var viewModel: StoryComposerViewModel - private var addingMediaToEditorProgressDialog: ProgressDialog? = null + @Suppress("DEPRECATION") private var addingMediaToEditorProgressDialog: ProgressDialog? = null private val frameIdsToRemove = ArrayList() override fun getSite() = site @@ -297,7 +299,7 @@ class StoryComposerActivity : ComposeLoopFrameActivity(), viewModel.writeToBundle(outState) } - @Suppress("NestedBlockDepth") + @Suppress("DEPRECATION", "NestedBlockDepth") override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { viewModel.onStoryComposerAnalyticsSessionStartTimeReset() super.onActivityResult(requestCode, resultCode, data) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/themes/ThemeBrowserFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/themes/ThemeBrowserFragment.java index d902064eaab4..bbe5e0fca88c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/themes/ThemeBrowserFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/themes/ThemeBrowserFragment.java @@ -179,6 +179,7 @@ private void showQuickStartFocusPoint() { } @Override + @SuppressWarnings("deprecation") public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java b/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java index bb8ef52576a1..7d4fca080732 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/uploads/PostUploadHandler.java @@ -168,6 +168,7 @@ static boolean hasPendingOrInProgressPostUploads() { return sCurrentUploadingPost != null || !sQueuedPostsList.isEmpty(); } + @SuppressWarnings("deprecation") private void uploadNextPost() { synchronized (sQueuedPostsList) { if (mCurrentTask == null) { // make sure nothing is running @@ -197,6 +198,7 @@ private enum UploadPostTaskResult { PUSH_POST_DISPATCHED, ERROR, NOTHING_TO_UPLOAD, AUTO_SAVE_OR_UPDATE_DRAFT } + @SuppressWarnings("deprecation") @SuppressLint("StaticFieldLeak") private class UploadPostTask extends AsyncTask { private Context mContext; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/utils/UiHelpers.kt b/WordPress/src/main/java/org/wordpress/android/ui/utils/UiHelpers.kt index e58abf9572a9..583a3b49c7cc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/utils/UiHelpers.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/utils/UiHelpers.kt @@ -98,6 +98,7 @@ class UiHelpers @Inject constructor() { } companion object { + @Suppress("DEPRECATION") fun adjustDialogSize(dialog: Dialog) { val window = requireNotNull(dialog.window) val size = Point() diff --git a/WordPress/src/main/java/org/wordpress/android/util/WPMediaUtils.java b/WordPress/src/main/java/org/wordpress/android/util/WPMediaUtils.java index baa7b54bdcac..40bcf329a9b1 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/WPMediaUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/util/WPMediaUtils.java @@ -389,6 +389,7 @@ private static Intent prepareLaunchCamera(Context context, String applicationId, } } + @SuppressWarnings("deprecation") private static Intent getLaunchCameraIntent(Context context, String applicationId, LaunchCameraCallback callback) throws IOException { File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); diff --git a/WordPress/src/main/java/org/wordpress/android/util/WPPermissionUtils.java b/WordPress/src/main/java/org/wordpress/android/util/WPPermissionUtils.java index ac605924c766..99544ddb1f6c 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/WPPermissionUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/util/WPPermissionUtils.java @@ -8,12 +8,12 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.provider.Settings; -import android.text.Html; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; +import androidx.core.text.HtmlCompat; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -199,7 +199,7 @@ public static void showPermissionAlwaysDeniedDialog(@NonNull final Activity acti AlertDialog.Builder builder = new MaterialAlertDialogBuilder(activity) .setTitle(activity.getString(R.string.permissions_denied_title)) - .setMessage(Html.fromHtml(message)) + .setMessage(HtmlCompat.fromHtml(message, HtmlCompat.FROM_HTML_MODE_LEGACY)) .setPositiveButton(R.string.button_edit_permissions, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { diff --git a/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java b/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java index a47889f19a80..eeba510c2273 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/util/analytics/AnalyticsUtils.java @@ -5,13 +5,13 @@ import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; -import android.text.Html; import android.text.TextUtils; import android.webkit.MimeTypeMap; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; +import androidx.core.text.HtmlCompat; import org.json.JSONException; import org.json.JSONObject; @@ -220,7 +220,10 @@ public static void refreshMetadataNewUser(String username, String email) { } public static int getWordCount(String content) { - String text = Html.fromHtml(content.replaceAll("]*>", "")).toString(); + String text = HtmlCompat.fromHtml( + content.replaceAll("]*>", ""), + HtmlCompat.FROM_HTML_MODE_LEGACY + ).toString(); return text.split("\\s+").length; } diff --git a/WordPress/src/main/java/org/wordpress/android/util/extensions/DialogExtensions.kt b/WordPress/src/main/java/org/wordpress/android/util/extensions/DialogExtensions.kt index 426cfba50c0e..ce5292c67b5d 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/extensions/DialogExtensions.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/extensions/DialogExtensions.kt @@ -16,6 +16,7 @@ fun Dialog.getPreferenceDialogContainerView(): View? { return view } +@Suppress("DEPRECATION") fun Dialog.setStatusBarAsSurfaceColor() { window?.apply { statusBarColor = context.getColorFromAttribute(attr.colorSurface) diff --git a/WordPress/src/main/java/org/wordpress/android/util/extensions/WindowExtensions.kt b/WordPress/src/main/java/org/wordpress/android/util/extensions/WindowExtensions.kt index 7f97e9989b67..b6dcc7dfd70f 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/extensions/WindowExtensions.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/extensions/WindowExtensions.kt @@ -10,6 +10,7 @@ import android.view.Window import androidx.core.content.ContextCompat import org.wordpress.android.R +@Suppress("DEPRECATION") fun Window.setLightStatusBar(showInLightMode: Boolean) { if (isLightTheme()) { decorView.systemUiVisibility = decorView.systemUiVisibility.let { @@ -22,6 +23,7 @@ fun Window.setLightStatusBar(showInLightMode: Boolean) { } } +@Suppress("DEPRECATION") fun Window.setLightNavigationBar(showInLightMode: Boolean, applyDefaultColors: Boolean = false) { if (isLightTheme() && VERSION.SDK_INT >= VERSION_CODES.O) { decorView.systemUiVisibility = decorView.systemUiVisibility.let { @@ -41,6 +43,7 @@ fun Window.setLightNavigationBar(showInLightMode: Boolean, applyDefaultColors: B } } +@Suppress("DEPRECATION") fun Window.showFullScreen() { decorView.systemUiVisibility = decorView.systemUiVisibility.let { it or SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or SYSTEM_UI_FLAG_LAYOUT_STABLE diff --git a/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt b/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt index 07eee23c813e..49b5e86d2f6c 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.util.image import android.app.Activity @@ -438,6 +440,7 @@ class ImageManager @Inject constructor( * Use this method with caution and only when you necessarily need it(in other words, don't use it * when you need to load an image into an ImageView). */ + @Suppress("DEPRECATION") fun loadIntoCustomTarget(viewTarget: ViewTarget, imageType: ImageType, imgUrl: String) { val context = WordPress.getContext() if (!context.isAvailable()) return @@ -455,6 +458,7 @@ class ImageManager @Inject constructor( * Use this method with caution and only when you necessarily need it(in other words, don't use it * when you need to load an image into an ImageView). */ + @Suppress("DEPRECATION") fun loadAsBitmapIntoCustomTarget( context: Context, target: BaseTarget, @@ -485,6 +489,7 @@ class ImageManager @Inject constructor( * Cancel any pending requests and free any resources that may have been * loaded for the view. */ + @Suppress("DEPRECATION") fun cancelRequest(context: Context, target: BaseTarget?) { GlideApp.with(context).clear(target) } diff --git a/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPCustomImageGetter.kt b/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPCustomImageGetter.kt index 21987769b34a..ef3d9be26528 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPCustomImageGetter.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPCustomImageGetter.kt @@ -15,7 +15,7 @@ import java.lang.ref.WeakReference import javax.inject.Inject /** - * ImageGetter for Html.fromHtml(). Retrieves images for HTML img tags using Glide library. + * ImageGetter for HtmlCompat.fromHtml(...). Retrieves images for HTML img tags using Glide library. * * * See {@link android.text.Html} for more details. diff --git a/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPRemoteResourceViewTarget.kt b/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPRemoteResourceViewTarget.kt index cf7e8e9a56a3..4845f7d36f61 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPRemoteResourceViewTarget.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/image/getters/WPRemoteResourceViewTarget.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.util.image.getters import android.annotation.SuppressLint @@ -25,6 +27,7 @@ import org.wordpress.android.util.ImageUtils * It clears the View's Request when the View is detached from its Window and restarts the Request when the View is * re-attached from its Window. */ +@Suppress("DEPRECATION") internal class WPRemoteResourceViewTarget( view: TextView, private val maxSize: Int @@ -114,6 +117,7 @@ internal class WPRemoteResourceViewTarget( drawable?.colorFilter = colorFilter } + @Suppress("DEPRECATION") override fun getOpacity(): Int { return drawable?.opacity ?: PixelFormat.UNKNOWN } diff --git a/WordPress/src/main/java/org/wordpress/android/util/signature/SignatureUtils.kt b/WordPress/src/main/java/org/wordpress/android/util/signature/SignatureUtils.kt index 9d89c47e93c9..50567cef6841 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/signature/SignatureUtils.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/signature/SignatureUtils.kt @@ -9,7 +9,7 @@ import java.security.MessageDigest import javax.inject.Inject class SignatureUtils @Inject constructor() { - @Suppress("SwallowedException") + @Suppress("DEPRECATION", "SwallowedException") fun getSignatureHash(ctxt: Context, packageName: String): String { val md: MessageDigest = MessageDigest.getInstance("SHA-256") val sig: Signature = try { diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/plugins/PluginBrowserViewModel.kt b/WordPress/src/main/java/org/wordpress/android/viewmodel/plugins/PluginBrowserViewModel.kt index 5ee34eb67943..b1cc8b494bcc 100644 --- a/WordPress/src/main/java/org/wordpress/android/viewmodel/plugins/PluginBrowserViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/viewmodel/plugins/PluginBrowserViewModel.kt @@ -2,6 +2,7 @@ package org.wordpress.android.viewmodel.plugins import android.os.Bundle import android.os.Handler +import android.os.Looper import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel @@ -57,7 +58,7 @@ class PluginBrowserViewModel @Inject constructor( private var isStarted = false - private val handler = Handler() + private val handler = Handler(Looper.getMainLooper()) private val _featuredPluginsLiveData = MutableLiveData() private val _popularPluginsLiveData = MutableLiveData() diff --git a/WordPress/src/main/java/org/wordpress/android/viewmodel/posts/PostListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/viewmodel/posts/PostListViewModel.kt index 9686ed38c962..6f9751477216 100644 --- a/WordPress/src/main/java/org/wordpress/android/viewmodel/posts/PostListViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/viewmodel/posts/PostListViewModel.kt @@ -267,7 +267,7 @@ class PostListViewModel @Inject constructor( connectionStatus.observe(lifecycleOwner, Observer { retryOnConnectionAvailableAfterRefreshError() }) - lifecycleOwner.lifecycleRegistry.markState(Lifecycle.State.CREATED) + lifecycleOwner.lifecycleRegistry.currentState = Lifecycle.State.CREATED } fun search(query: String?, delay: Long = SEARCH_DELAY_MS) { diff --git a/WordPress/src/main/java/org/wordpress/android/widgets/AppRatingDialog.kt b/WordPress/src/main/java/org/wordpress/android/widgets/AppRatingDialog.kt index 0f49af56c8a3..062c1d9e90b4 100644 --- a/WordPress/src/main/java/org/wordpress/android/widgets/AppRatingDialog.kt +++ b/WordPress/src/main/java/org/wordpress/android/widgets/AppRatingDialog.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.widgets import android.app.Dialog @@ -70,6 +72,7 @@ object AppRatingDialog { * Show the rate dialog if the criteria is satisfied. * @return true if shown, false otherwise. */ + @Suppress("DEPRECATION") fun showRateDialogIfNeeded(fragmentManger: FragmentManager): Boolean { return if (shouldShowRateDialog()) { showRateDialog(fragmentManger) @@ -104,6 +107,7 @@ object AppRatingDialog { } } + @Suppress("DEPRECATION") private fun showRateDialog(fragmentManger: FragmentManager) { var dialog = fragmentManger.findFragmentByTag(AppRatingDialog.TAG_APP_RATING_PROMPT_DIALOG) if (dialog == null) { @@ -113,6 +117,7 @@ object AppRatingDialog { } } + @Suppress("DEPRECATION") class AppRatingDialog : DialogFragment() { companion object { internal const val TAG_APP_RATING_PROMPT_DIALOG = "TAG_APP_RATING_PROMPT_DIALOG" diff --git a/WordPress/src/main/java/org/wordpress/android/widgets/NestedWebView.kt b/WordPress/src/main/java/org/wordpress/android/widgets/NestedWebView.kt index 9b59670205e8..78aee846f684 100644 --- a/WordPress/src/main/java/org/wordpress/android/widgets/NestedWebView.kt +++ b/WordPress/src/main/java/org/wordpress/android/widgets/NestedWebView.kt @@ -5,7 +5,6 @@ import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.view.MotionEvent -import androidx.core.view.MotionEventCompat import androidx.core.view.NestedScrollingChild3 import androidx.core.view.NestedScrollingChildHelper import androidx.core.view.ViewCompat @@ -35,13 +34,12 @@ class NestedWebView @JvmOverloads constructor( override fun onTouchEvent(ev: MotionEvent): Boolean { var returnValue = false val event = MotionEvent.obtain(ev) - val action = MotionEventCompat.getActionMasked(event) - if (action == MotionEvent.ACTION_DOWN) { + if (event.actionMasked == MotionEvent.ACTION_DOWN) { nestedOffsetY = 0 } val eventY = event.y.toInt() event.offsetLocation(0f, nestedOffsetY.toFloat()) - when (action) { + when (event.actionMasked) { MotionEvent.ACTION_MOVE -> { var totalScrollOffset = 0 var deltaY = lastY - eventY diff --git a/WordPress/src/test/java/org/wordpress/android/ui/posts/services/AztecImageLoaderTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/posts/services/AztecImageLoaderTest.kt index 865592859342..09d0ada7e4b7 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/posts/services/AztecImageLoaderTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/posts/services/AztecImageLoaderTest.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package org.wordpress.android.ui.posts.services import android.content.Context @@ -83,7 +85,7 @@ class AztecImageLoaderTest { whenever(imageManager.loadAsBitmapIntoCustomTarget(any(), any(), any(), any())) .thenAnswer { invocation -> run { - @Suppress("UNCHECKED_CAST") + @Suppress("DEPRECATION", "UNCHECKED_CAST") (invocation.arguments[1] as BaseTarget).onLoadFailed(mock(Drawable::class.java)) } } @@ -93,7 +95,7 @@ class AztecImageLoaderTest { whenever(imageManager.loadAsBitmapIntoCustomTarget(any(), any(), any(), any())) .thenAnswer { invocation -> run { - @Suppress("UNCHECKED_CAST") + @Suppress("DEPRECATION", "UNCHECKED_CAST") (invocation.arguments[1] as BaseTarget).onResourceReady(bitmap, null) } } @@ -103,7 +105,7 @@ class AztecImageLoaderTest { whenever(imageManager.loadAsBitmapIntoCustomTarget(any(), any(), any(), any())) .thenAnswer { invocation -> run { - @Suppress("UNCHECKED_CAST") + @Suppress("DEPRECATION", "UNCHECKED_CAST") (invocation.arguments[1] as BaseTarget).onLoadStarted(mock(Drawable::class.java)) } } diff --git a/WordPress/src/wordpress/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt b/WordPress/src/wordpress/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt index 8116bdb2893e..02e74c09a310 100644 --- a/WordPress/src/wordpress/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt +++ b/WordPress/src/wordpress/java/org/wordpress/android/ui/accounts/login/LoginPrologueFragment.kt @@ -125,6 +125,7 @@ class LoginPrologueFragment : Fragment(R.layout.login_signup_screen) { unifiedLoginTracker.setFlowAndStep(Flow.PROLOGUE, PROLOGUE) } + @Suppress("DEPRECATION") override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) // important for accessibility - talkback diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml index 85c990ff9b7e..365a7029b8f5 100644 --- a/config/detekt/baseline.xml +++ b/config/detekt/baseline.xml @@ -72,7 +72,6 @@ LongMethod:BarChartViewHolder.kt$BarChartViewHolder$private fun BarChart.draw( item: BarChartItem, labelStart: TextView, labelEnd: TextView ): BarCount LongMethod:ClicksUseCase.kt$ClicksUseCase$override fun buildUiModel(domainModel: ClicksModel, uiState: SelectedClicksGroup): List<BlockListItem> LongMethod:HomepageSettingsDialog.kt$HomepageSettingsDialog$override fun onCreateDialog(savedInstanceState: Bundle?): Dialog - LongMethod:MediaPickerActivity.kt$MediaPickerActivity$override fun onActivityResult( requestCode: Int, resultCode: Int, data: Intent? ) LongMethod:MediaPickerFragment.kt$MediaPickerFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?) LongMethod:MediaPickerViewModel.kt$MediaPickerViewModel$private fun buildUiModel( domainModel: DomainModel?, selectedIds: List<Identifier>?, softAskRequest: SoftAskRequest?, isSearching: Boolean? ): PhotoListUiModel LongMethod:PhotoPickerFragment.kt$PhotoPickerFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?) @@ -80,8 +79,6 @@ LongMethod:PublishSettingsFragment.kt$PublishSettingsFragment$override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? LongMethod:ReferrersUseCase.kt$ReferrersUseCase$override fun buildUiModel(domainModel: ReferrersModel, uiState: SelectedGroup): List<BlockListItem> LongMethod:SearchListViewModel.kt$SearchListViewModel$private fun PageModel.toPageItem(areActionsEnabled: Boolean): PageItem - LongMethod:StatsMinifiedWidgetConfigureFragment.kt$StatsMinifiedWidgetConfigureFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?) - LongMethod:StatsWidgetConfigureFragment.kt$StatsWidgetConfigureFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?) LongMethod:SuggestionActivity.kt$SuggestionActivity$private fun initializeActivity(siteModel: SiteModel, suggestionType: SuggestionType) LoopWithTooManyJumpStatements:RemoveMediaUseCase.kt$RemoveMediaUseCase$for (mediaId in mediaIds) { if (!TextUtils.isEmpty(mediaId)) { // make sure the MediaModel exists val mediaModel = try { mediaStore.getMediaWithLocalId(Integer.valueOf(mediaId)) ?: continue } catch (e: NumberFormatException) { AppLog.e(AppLog.T.MEDIA, "Invalid media id: $mediaId") continue } // also make sure it's not being uploaded anywhere else (maybe on some other Post, // simultaneously) if (mediaModel.uploadState != null && mediaUtils.isLocalFile(mediaModel.uploadState.toLowerCase(Locale.ROOT)) && !uploadService.isPendingOrInProgressMediaUpload(mediaModel)) { dispatcher.dispatch(MediaActionBuilder.newRemoveMediaAction(mediaModel)) } } } MagicNumber:ActivityViewHolder.kt$ActivityViewHolder$3 @@ -178,8 +175,6 @@ NestedBlockDepth:AllTimeWidgetListViewModel.kt$AllTimeWidgetListViewModel$fun onDataSetChanged(onError: (appWidgetId: Int) -> Unit) NestedBlockDepth:CreatePageListItemActionsUseCase.kt$CreatePageListItemActionsUseCase$fun setupPageActions( listType: PageListType, uploadUiState: PostUploadUiState, siteModel: SiteModel, remoteId: Long ): Set<Action> NestedBlockDepth:LoadStoryFromStoriesPrefsUseCase.kt$LoadStoryFromStoriesPrefsUseCase$private fun loadOrReCreateStoryFromStoriesPrefs(site: SiteModel, mediaIds: ArrayList<String>): ReCreateStoryResult - NestedBlockDepth:MeFragment.kt$MeFragment$override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) - NestedBlockDepth:MediaPickerActivity.kt$MediaPickerActivity$override fun onActivityResult( requestCode: Int, resultCode: Int, data: Intent? ) NestedBlockDepth:PublicizeErrorDialogFragment.kt$PublicizeErrorDialogFragment$override fun onCreateDialog(savedInstanceState: Bundle?): Dialog NestedBlockDepth:PublishNotificationReceiverViewModel.kt$PublishNotificationReceiverViewModel$fun loadNotification(notificationId: Int): NotificationUiModel? NestedBlockDepth:ReaderDiscoverLogic.kt$ReaderDiscoverLogic$private fun createSimplifiedRecommendedBlogsCardJson(originalCardJson: JSONObject): JSONObject