Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

callback compatibility issue when initialing method #953

Open
PSDroid2022 opened this issue Mar 16, 2022 · 0 comments
Open

callback compatibility issue when initialing method #953

PSDroid2022 opened this issue Mar 16, 2022 · 0 comments

Comments

@PSDroid2022
Copy link

We confirm a callback compatibility issue which might threaten the robustness of your app and give a detailed suggestion for you.

In ''com.kabouzeid.gramophone.views.StatusBarView" and "StatusBarMarginFrameLayout", you super the framework API "<android.view.View: android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets)>" in "onApplyWindowInsets" method as shown in following. But actually, this method is added in API level 21 (https://developer.android.google.cn/reference/android/view/View?hl=en#onApplyWindowInsets(android.view.WindowInsets)).

 @Override
    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
           ...
        }
        return super.onApplyWindowInsets(insets);
    }

So when the app try to initial related function on devices level 16 and 19, your app will run with an unpredictable results. So we suggest you add an "if(SDK_INT>=21)", " @TargetApi(Build.VERSION_CODES.LOLLIPOP)" or change your app miniSDK from 16 to 21 to fix this potential issue.
By the way, "@TargetApi(Build.VERSION_CODES.LOLLIPOP)" will be deleted by Android compiler when releasing APKs, so it seems like a not good way to solve those issues.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant