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.

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

No branches or pull requests

1 participant