Skip to content

[Compile Warnings As Errors] WordPress Module - Resolve Deprecated Warnings - Part.1#17246

Merged
ParaskP7 merged 25 commits intotrunkfrom
analysis/wordpress-main-deprecated-warnings-part-1
Oct 5, 2022
Merged

[Compile Warnings As Errors] WordPress Module - Resolve Deprecated Warnings - Part.1#17246
ParaskP7 merged 25 commits intotrunkfrom
analysis/wordpress-main-deprecated-warnings-part-1

Conversation

@ParaskP7
Copy link
Copy Markdown
Contributor

@ParaskP7 ParaskP7 commented Oct 3, 2022

Parent: #17173
Partially Closes: #17181

This PR resolves one part of all Deprecated related warnings for the WordPress module, and in this part, the most generic ones and specific to the main source:

Main Source (About 247)

  • About 247 warnings x 'XYX' is deprecated. Deprecated in Java

Warnings Resolution List:

  1. Resolve from html deprecated warnings.
  2. Resolve on navigation (re) selected deprecated warnings.
  3. Resolve handler deprecated warnings.
  4. Resolve lifecycle registry mark state deprecated warning.
  5. Resolve nested web view get action masked deprecated warning.

Warnings Suppression List:

  1. Suppress on/start activity (for) result deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - OnActivityResult #17249)
  2. Suppress set/get target fragment deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - TargetFragment #17250)
  3. Suppress on activity created deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - ActivityCreated #17251)
  4. Suppress fragment pager adapter deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - FragmentPagerAdapter #17257)
  5. Suppress progress dialog deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - ProgressDialog #17258)
  6. Suppress comments detail activity deprecated warnings.
  7. Suppress exo player utils deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - ExoPlayerUtils #17259)
  8. Suppress request permissions deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - OnActivityResult #17249)
  9. Suppress get external storage public dir deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - ExternalStorage & ExternalFile #17252)
  10. Suppress photo picker activity deprecated warnings.
  11. Suppress async task deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - AsyncTask #17260)
  12. Suppress glide deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - Glide (BaseTarget & ViewTarget) #17261)
  13. Suppress allow scanning by media scanner deprecated warning. (Associated Issue: Compiler Warnings as Errors - WordPress Module - ExternalStorage & ExternalFile #17252)
  14. Suppress window manager display/insets deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - WindowManager #17256)
  15. Suppress fragment manager deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - FragmentManager #17253)
  16. Suppress set bound in parent deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - Accessibility (setBoundsInParent) #17254)
  17. Suppress signature deprecated warnings. (Associated Issue: Compiler Warnings as Errors - WordPress Module - Signature #17255)

Refactor List:

  1. Extract on result action functions for jetpack remote install.
  2. Replace java with kotlin suppression for deprecation.

In addition to the above warning resolution list, the below Detekt warnings got resolved as well, leaving Detekt's baseline.xml file 5 entries shorter:

  1. Resolve detekt warnings by manually updating the baseline.

PS: @ovitrif I added you as the main reviewer, that is, in addition to @wordpress-mobile/apps-infrastructure team itself, but randomly, since I want someone from the WordPress Android team to primarily sign-off on that change. 🥇

FYI: I am going to randomly add more of you in those PRs that will follow, just so you become more aware of this change and how close we are on enabling allWarningsAsErrors by default everywhere. 🎉


To test:

  • There is nothing much to test here.
  • Verifying that all the CI checks are successful should be enough.
  • However, if you want to be thorough about reviewing this change, you could:
    • Quickly smoke test both, the WordPress and Jetpack apps, and see if they are both working as expected.
    • In addition to the above smoke testing, per the below class refactor, you could do some more targeted testing:
      • WPMainNavigationView:
        1. Make sure the MySite, Reader and Notification tab labels are shown on the selected navigation item.
        2. Add debugger and test the MySite, Reader and Notification tabs to make sure that when selecting a new tab, the onNavigationItemSelected(...) function is called, while when re-selecting the existing tab, the onNavigationItemReselected(...) function is called.
      • PostListViewModel:
        1. Make sure the Posts screen works as expected.
      • NestedWebView:
        1. Make sure the nested web view related screens and functionality is working as expected.

Regression Notes

  1. Potential unintended areas of impact

See the targeted testing part above, which is, within the To test section itself.

  1. What I did to test those areas of impact (or what existing automated tests I relied on)

See To test section above.

  1. What automated tests I added (or what prevented me from doing so)

N/A


PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Warning Messages:
- "'onActivityResult(Int, Int, Intent?): Unit' is deprecated.
Deprecated in Java"
- "'onActivityResult(Int, Int, Intent?): Unit' is deprecated.
Overrides deprecated member in 'androidx.activity.ComponentActivity'.
Deprecated in Java"
- "'startActivityForResult(Intent!, Int): Unit' is deprecated.
Deprecated in Java"
- "'showPhotoPickerForResult(Activity!, MediaBrowserType, SiteModel?,
Int?): Unit' is deprecated. Deprecated in Java"
- "'handleMediaPickerResultForStories(Intent, Activity?, SiteModel?,
PagePostCreationSourcesDetail): Boolean' is deprecated.
Use rather the other handle method and the live data navigation."

This deprecated warnings are suppressed, that is, instead them being
resolved, since a resolution would require a proper migration.

Explanation: "This method is deprecated. This method has been deprecated
in favor of using the Activity Result API which brings increased type
safety via an ActivityResultContract and the prebuilt contracts for
common intents available in
androidx.activity.result.contract.ActivityResultContracts, provides
hooks for testing, and allow receiving results in separate, testable
classes independent from your activity. Use registerForActivityResult
with the appropriate ActivityResultContract and handling the result in
the callback."

For more info see:
- androidx.fragment.app.Fragment.onActivityResult (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#onActivityResult(int,int,android.content.Intent)
- androidx.fragment.app.Fragment.startActivityForResult (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#startActivityForResult(android.content.Intent,int)
- androidx.fragment.app.FragmentActivity.onActivityResult (Docs):
https://developer.android.com/reference/androidx/fragment/app/
FragmentActivity#onActivityResult(int,int,android.content.Intent)
- androidx.activity.ComponentActivity.startActivityForResult (Docs):
https://developer.android.com/reference/androidx/activity/
ComponentActivity#startActivityForResult(android.content.Intent,int)
Warning Message: "'fromHtml(String!): Spanned!' is deprecated.
Deprecated in Java"

Replacing 'Html.fromHtml(html)' with the 'HtmlCompat.fromHtml
(html, HtmlCompat.FROM_HTML_MODE_LEGACY)' compat related version is the
recommended action to resolve this kind of deprecated warnings.
Warning Messages:
- "'setTargetFragment(Fragment?, Int): Unit' is deprecated.
Deprecated in Java"
- "'getter for targetFragment: Fragment?' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of them being
resolved, since a resolution would require a proper migration.

Explanation:
- "Instead of using a target fragment to pass results, the fragment
requesting a result should use FragmentManager.setFragmentResultListener
(String, LifecycleOwner, FragmentResultListener) to register a
FragmentResultListener with a requestKey using its parent fragment
manager. The fragment delivering a result should then call
FragmentManager.setFragmentResult(String, Bundle) using the same
requestKey. Consider using setArguments to pass the requestKey if you
need to support dynamic request keys."
- "Instead of using a target fragment to pass results, use
FragmentManager.setFragmentResult(String, Bundle) to deliver results to
FragmentResultListener instances registered by other fragments via
FragmentManager.setFragmentResultListener(String, LifecycleOwner,
FragmentResultListener)."

For more info see:
- android.app.Fragment.setTargetFragment (Docs):
https://developer.android.com/reference/android/app/
Fragment#setTargetFragment(android.app.Fragment,%20int)
- android.app.Fragment.getTargetFragment (Docs):
https://developer.android.com/reference/android/app/
Fragment#getTargetFragment()
Warning Message: "'onActivityCreated(Bundle?): Unit' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

Explanation: "Use onViewCreated(View, Bundle) for code touching the view
created by onCreateView and onCreate(Bundle) for other initialization.
To get a callback specifically when a Fragment activity's
Activity.onCreate(Bundle) is called, register a
androidx.lifecycle.LifecycleObserver on the Activity's Lifecycle in
onAttach(Context), removing it when it receives the
Lifecycle.State.CREATED callback."

For more info see:
- androidx.fragment.app.Fragment.onActivityCreated (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#onActivityCreated(android.os.Bundle)
Warning Message: "'FragmentPagerAdapter' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

You will also notice that I didn't suppressed the deprecated warning
both, on the file level and closer to the deprecation itself. I will be
doing the file level suppression on the 'ProgressDialog', which is yet
to be suppressed.

Explanation:
- "Use FragmentPagerAdapter(FragmentManager, int) with
BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT"
- This class is deprecated. Switch to
androidx.viewpager2.widget.ViewPager2 and use
androidx.viewpager2.adapter.FragmentStateAdapter instead.

For more info see:
- androidx.fragment.app.FragmentPagerAdapter (Docs):
https://developer.android.com/reference/androidx/fragment/app/
FragmentPagerAdapter
Warning Messages:
- "'ProgressDialog' is deprecated. Deprecated in Java"
- "'constructor ProgressDialog(Context!)' is deprecated.
Deprecated in Java"
- "'show(Context!, CharSequence!, CharSequence!, Boolean):
ProgressDialog!' is deprecated. Deprecated in Java"
- "'show(Context!, CharSequence!, CharSequence!, Boolean, Boolean):
ProgressDialog!' is deprecated. Deprecated in Java"
- "'setter for isIndeterminate: Boolean' is deprecated.
Deprecated in Java"
- "'setMessage(CharSequence!): Unit' is deprecated. Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

You will also notice that I suppressed the deprecated warning both, on
the file level and closer to the deprecation itself. In addition to
that, you will notice that I suppressed the deprecated warning for other
such warnings, like 'StringEscapeUtils' and 'PhotoPickerActivity'. I did
that because suppressing on the file level was necessary due to the
'android.app.ProgressDialog' import that can't be suppressed any other
way. But, when doing so, every deprecated warning is suppressed as well.
At which point the deprecated information is lost. This way, adding
first the '@Suppress("DEPRECATION")' closer to source and then adding it
on the file level makes sure that this information is not lost, at least
for the existing code.

Explanation: "This class was deprecated in API level 26. ProgressDialog
is a modal dialog, which prevents the user from interacting with the
app. Instead of using this class, you should use a progress indicator
like ProgressBar, which can be embedded in your app's UI. Alternatively,
you can use a notification to inform the user of the task's progress."

Docs: https://developer.android.com/reference/android/app/ProgressDialog
Warning Message: "'CommentsDetailActivity' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

Explanation: See KDoc on 'CommentsDetailActivity' class.

"Comments are being refactored as part of Comments Unification project.
If you are adding any features or modifying this class, please ping
develric or klymyam"
Warning Messages:
- "'LabelVisibilityMode' is deprecated. Deprecated in Java"
- "'OnNavigationItemSelectedListener' is deprecated. Deprecated in Java"
- "'setOnNavigationItemSelectedListener
(BottomNavigationView.OnNavigationItemSelectedListener?): Unit'
is deprecated. Deprecated in Java"
- "'OnNavigationItemReselectedListener' is deprecated.
Deprecated in Java"
- "'setOnNavigationItemReselectedListener
(BottomNavigationView.OnNavigationItemReselectedListener?):
Unit' is deprecated. Deprecated in Java"

Replacing the deprecated code with the 'NavigationBarView' related
version is the recommended action to resolve this kind of deprecated
warnings.

More more info see:
- LabelVisibilityMode (Docs):
https://developer.android.com/reference/com/google/android/material/
bottomnavigation/LabelVisibilityMode
- BottomNavigationView.OnNavigationItemSelectedListener (Docs):
https://developer.android.com/reference/com/google/android/material/
bottomnavigation/BottomNavigationView.OnNavigationItemSelectedListener
- BottomNavigationView.OnNavigationItemReselectedListener (Docs):
https://developer.android.com/reference/com/google/android/material/
bottomnavigation/BottomNavigationView.OnNavigationItemReselectedListener
Warning Messages:
- "'ExtractorMediaSource' is deprecated. Deprecated in Java"
- "'DefaultHttpDataSourceFactory' is deprecated. Deprecated in Java"
- "'getter for defaultRequestProperties:
HttpDataSource.RequestProperties' is deprecated. Deprecated in Java"
- "'createMediaSource(Uri): DashMediaSource' is deprecated.
Deprecated in Java"
- "'createMediaSource(Uri): SsMediaSource' is deprecated.
Deprecated in Java"
- "'createMediaSource(Uri): HlsMediaSource' is deprecated.
Deprecated in Java"
- "'Factory' is deprecated. Deprecated in Java"
- "'createMediaSource(Uri): ExtractorMediaSource' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- Exoplayer Developer Guide (Docs): https://exoplayer.dev
Warning Message: "'requestPermissions(Array<(out) String!>, Int): Unit'
is deprecated. Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- androidx.fragment.app.Fragment.requestPermissions (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#requestPermissions(java.lang.String[],int)
Warning Message: "'getExternalStoragePublicDirectory(String!): File!'
is deprecated. Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- android.os.Environment.getExternalStoragePublicDirectory (Docs):
https://developer.android.com/reference/android/os/
Environment#getExternalStoragePublicDirectory(java.lang.String)
Warning Message: "'PhotoPickerActivity' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

Explanation: See Javadoc on 'PhotoPickerActivity' class.

"This class is being refactored, if you implement any change, please
also update {@link org.wordpress.android.ui.mediapicker.
MediaPickerActivity}"
Warning Messages:
- "'AsyncTask<Params : Any!, Progress : Any!, Result : Any!>'
is deprecated. Deprecated in Java"
- "'THREAD_POOL_EXECUTOR: Executor!' is deprecated. Deprecated in Java"
- "'constructor AsyncTask<Params :
Any!, Progress : Any!, Result : Any!>()' is deprecated.
Deprecated in Java"
- "'executeOnExecutor(Executor!, vararg Void!):
AsyncTask<Void!, Void!, List<NoteBlock>?>!' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

You will also notice that I suppressed the deprecated warning both, on
the file level and closer to the deprecation itself. In addition to
that, you will notice that I suppressed the deprecated warning for other
such warnings, like 'GeneratedNoteBlock'. I did that because suppressing
on the file level was necessary due to the 'android.os.AsyncTask' import
that can't be suppressed any other way. But, when doing so, every
deprecated warning is suppressed as well. At which point the deprecated
information is lost. This way, adding first the '@Suppress
("DEPRECATION")' closer to source and then adding it on the file level
makes sure that this information is not lost, at least for the existing
code.

Explanation: "This class was deprecated in API level 30. Use the
standard java.util.concurrent or Kotlin concurrency utilities instead."
Warning Messages:
- "'BaseTarget<Z : Any!>' is deprecated. Deprecated in Java"
- "'ViewTarget<T : View!, Z : Any!>' is deprecated. Deprecated in Java"
- "'getter for opacity: Int' is deprecated. Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- Glide Guide (Docs): https://bumptech.github.io/glide
Warning Message: "'allowScanningByMediaScanner(): Unit' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- android.app.DownloadManager.Request.allowScanningByMediaScanner (Doc):
https://developer.android.com/reference/android/app/
DownloadManager.Request#allowScanningByMediaScanner()
Warning Messages:
- "'getter for systemWindowInsetTop: Int' is deprecated.
Deprecated in Java"
- "'consumeSystemWindowInsets(): WindowInsetsCompat' is deprecated.
Deprecated in Java"
- "'getter for defaultDisplay: Display!' is deprecated.
Deprecated in Java"
- "'getSize(Point!): Unit' is deprecated. Deprecated in Java"
- "'setter for systemUiVisibility: Int' is deprecated.
Deprecated in Java"
- "'getter for systemUiVisibility: Int' is deprecated.
Deprecated in Java"
- "'SYSTEM_UI_FLAG_LIGHT_STATUS_BAR: Int' is deprecated.
Deprecated in Java"
- "'SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR: Int' is deprecated.
Deprecated in Java"
- "'SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN: Int' is deprecated.
Deprecated in Java"
- "'SYSTEM_UI_FLAG_LAYOUT_STABLE: Int' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- android.view.WindowInsets.getSystemWindowInsetTop (Docs):
https://developer.android.com/reference/android/view/
WindowInsets#getSystemWindowInsetTop()
- android.view.WindowInsets.consumeSystemWindowInsets (Docs):
https://developer.android.com/reference/android/view/
WindowInsets#consumeSystemWindowInsets()
- android.view.WindowManager.getDefaultDisplay (Docs):
https://developer.android.com/reference/android/view/
WindowManager#getDefaultDisplay()
- android.view.Display#getSize (Docs):
https://developer.android.com/reference/android/view/
Display#getSize(android.graphics.Point)
- android.view.View.setSystemUiVisibility (Docs):
https://developer.android.com/reference/android/view/
View#setSystemUiVisibility(int)
- android.view.View.getSystemUiVisibility (Docs):
https://developer.android.com/reference/android/view/
View#getSystemUiVisibility()
Warning Messages:
- "'getter for fragmentManager: FragmentManager?' is deprecated
Deprecated in Java"
- "'requireFragmentManager(): FragmentManager' is deprecated.
Deprecated in Java"
- "'constructor FragmentPagerAdapter(FragmentManager)' is deprecated.
Deprecated in Java"
- "'show(FragmentManager!, String!): Unit' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

You will also notice that I suppressed the deprecated warning both, on
the file level and closer to the deprecation itself. In addition to
that, you will notice that I suppressed the deprecated warning for other
such warnings, like 'DialogFragment'. I did that because suppressing
on the file level was necessary due to the 'android.app.FragmentManager'
import that can't be suppressed any other way. But, when doing so, every
deprecated warning is suppressed as well. At which point the deprecated
information is lost. This way, adding first the '@Suppress
("DEPRECATION")' closer to source and then adding it on the file level
makes sure that this information is not lost, at least for the existing
code.

For more info see:
- androidx.fragment.app.Fragment.getFragmentManager (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#getFragmentManager()
- androidx.fragment.app.Fragment#.requireFragmentManager (Docs):
https://developer.android.com/reference/androidx/fragment/app/
Fragment#requireFragmentManager()
Warning Message: "'constructor Handler()' is deprecated.
Deprecated in Java"

Specifying the `Lopper` explicitly, using 'Looper.getMainLooper()' is
the recommended action to resolve this kind of deprecated warnings.

Explanation: "This constructor is deprecated. Implicitly choosing a
Looper during Handler construction can lead to bugs where operations are
silently lost (if the Handler is not expecting new tasks and quits),
crashes (if a handler is sometimes created on a thread without a Looper
active), or race conditions, where the thread a handler is associated
with is not what the author anticipated. Instead, use an Executor or
specify the Looper explicitly, using Looper#getMainLooper,
{link android.view.View#getHandler}, or similar. If the implicit thread
local behavior is required for compatibility, use
new Handler(Looper.myLooper()) to make it clear to readers."

Docs: https://developer.android.com/reference/android/os/
Handler#Handler()
Warning Message: "'setBoundsInParent(Rect!): Unit' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- android.view.accessibility.AccessibilityNodeInfo.setBoundsInParent:
https://developer.android.com/reference/android/view/accessibility/
AccessibilityNodeInfo#setBoundsInParent(android.graphics.Rect)
Warning Messages:
- "'GET_SIGNATURES: Int' is deprecated. Deprecated in Java"
- "'signatures: Array<(out) Signature!>!' is deprecated.
Deprecated in Java"

These deprecated warnings are suppressed, that is, instead of being
resolved, since a resolution would require a proper migration.

For more info see:
- android.content.pm.PackageManager.GET_SIGNATURES (Docs):
https://developer.android.com/reference/android/content/pm/
PackageManager#GET_SIGNATURES
- android.content.pm.PackageInfo.signatures (Docs):
https://developer.android.com/reference/android/content/pm/
PackageInfo#signatures
Warning Messages: "'markState(Lifecycle.State): Unit' is deprecated.
Deprecated in Java"

Replacing the deprecated 'markState(...)' with the 'currentState'
related version is the recommended action to resolve this kind of
deprecated warnings.

For more info see:
- androidx.lifecycle.LifecycleRegistry.markState (Docs):
https://developer.android.com/reference/androidx/lifecycle/
LifecycleRegistry#markState(androidx.lifecycle.Lifecycle.State)
- androidx.lifecycle.LifecycleRegistry.setCurrentState (Docs):
https://developer.android.com/reference/androidx/lifecycle/
LifecycleRegistry#setCurrentState(androidx.lifecycle.Lifecycle.State)
Warning Messages: "'getActionMasked(MotionEvent!): Int' is deprecated.
Deprecated in Java"

Replacing the usage of 'MotionEventCompat' to get the action masked, by
calling get action marked directly is the recommended action to resolve
this kind of deprecated warnings.

PS: It seems every method within 'MotionEventCompat' is now deprecated
and pointing to using 'MotionEvent' directly instead as this will be
removed in a future release.

For more info see:
- androidx.core.view.MotionEventCompat.getActionMasked (Docs):
https://developer.android.com/reference/androidx/core/view/
MotionEventCompat#getActionMasked(android.view.MotionEvent)
After resolving some of the compile related deprecated warnings, some
Detekt baseline related warnings needed to be removed and suppressed
closer to source because the lines on those classes got changed. Also, a
few new Detekt violations appeared, like the new 'LongMethod' violation
on the  'MeFragment' class for the 'onActivityResult(...)' function.
Within this commit, those got suppressed as well so that Detekt
completes successfully without any new issues.
@ParaskP7 ParaskP7 added this to the 21.0 milestone Oct 3, 2022
@ParaskP7 ParaskP7 self-assigned this Oct 3, 2022
@wpmobilebot
Copy link
Copy Markdown
Contributor

Jetpack📲 You can test these changes on Jetpack by downloading jetpack-installable-build-pr17246-7811dd1.apk
💡 Scan this QR code with your Android phone to download and install the APK directly on it.
AppJetpack
Build FlavorJalapeno
Build TypeDebug
Commit7811dd1
Note: This installable build uses the JalapenoDebug build flavor, and does not support Google Login.

@wpmobilebot
Copy link
Copy Markdown
Contributor

WordPress📲 You can test these changes on WordPress by downloading wordpress-installable-build-pr17246-7811dd1.apk
💡 Scan this QR code with your Android phone to download and install the APK directly on it.
AppWordPress
Build FlavorJalapeno
Build TypeDebug
Commit7811dd1
Note: This installable build uses the JalapenoDebug build flavor, and does not support Google Login.

@ParaskP7 ParaskP7 requested review from a team and ovitrif October 4, 2022 13:07
@ParaskP7 ParaskP7 marked this pull request as ready for review October 4, 2022 13:08
Copy link
Copy Markdown
Contributor

@ovitrif ovitrif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed the changes and they lgtm 🎉

I also did the thorough testing approach and it works as described.
Smoke tested both the WP and JP apps 🎉 .

Great work @ParaskP7 🥇 🎉 🚀

@ParaskP7
Copy link
Copy Markdown
Contributor Author

ParaskP7 commented Oct 5, 2022

Thank you for reviewing and testing this PR @ovitrif , you rock! 🙇 ❤️ 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compiler Warnings as Errors - WordPress Module

3 participants