InApp update shows different behaviors in different phones

Viewed 59

I have recently published an app in play store using android studio and firebase, when I tried to update I am encountering a strange problem. My phone is POCO M2 Pro ( MIUI Global 12.5.3 , android 11 ) and my wife's phone is Samsung galaxy A50 (android 11).

In my phone I was able to download the update correctly from play store and it worked fine, but in wife's app update is not coming. I had used below code for in app update

mAppUpdateManger= AppUpdateManagerFactory.create(this); // for inAppUpdate

    mAppUpdateManger.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
        @Override
        public void onSuccess(AppUpdateInfo result ) {

            if(result.updateAvailability()== UpdateAvailability.UPDATE_AVAILABLE
                    && result.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)){
                try {
                    mAppUpdateManger.startUpdateFlowForResult(result,AppUpdateType.IMMEDIATE
                            ,SellerHomeActivity.this,
                            UPDATE_CODE
                    );
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();

                    Toast.makeText(SellerHomeActivity.this, e+"" , Toast.LENGTH_SHORT).show();

                }


            }

        }
    });
// for inAppUpdate
private InstallStateUpdatedListener installStateUpdatedListener =new InstallStateUpdatedListener() {
    @Override
    public void onStateUpdate(@NonNull InstallState state) {

        if(state.installStatus()== InstallStatus.DOWNLOADED){

            popUp();
        }
    }

};

private void popUp() {

    Snackbar snackbar= Snackbar.make(
            findViewById(android.R.id.content),
            "App update almost done",
            Snackbar.LENGTH_INDEFINITE
    );

    snackbar.setAction("Reload", new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mAppUpdateManger.completeUpdate();

        }
    });
    snackbar.show();
}


@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

    if (requestCode==UPDATE_CODE && requestCode != RESULT_OK) {

        this.finishAffinity();

        Toast.makeText(this, " Please relaunch and update D.Storms ", Toast.LENGTH_SHORT).show();

    }

    super.onActivityResult(requestCode, resultCode, data);

}


@Override
protected void onResume() {
    super.onResume();

    mAppUpdateManger.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
        @Override
        public void onSuccess(AppUpdateInfo result ) {

            if(result.updateAvailability()== UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS){
                try {
                    mAppUpdateManger.startUpdateFlowForResult(result,AppUpdateType.IMMEDIATE
                            ,SellerHomeActivity.this,
                            UPDATE_CODE
                    );
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();

                    Toast.makeText(SellerHomeActivity.this, e+"" , Toast.LENGTH_SHORT).show();

                }


            }

        }
    });

}
0 Answers
Related