Mark DataUsageState as nullable to avoid potential NPE risk
mDataUsageState is nullable in UnrestrictedDataAccessPreference.java, so we'd better add a annotation to getDataUsageState(), and add a null-check before calling it. Bug: 246828843 Test: manual and Robotest. Change-Id: If7fea53ec7efd004391a09becdba5709ae686f40
This commit is contained in:
@@ -20,6 +20,7 @@ import android.graphics.drawable.Drawable;
|
|||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.preference.PreferenceViewHolder;
|
import androidx.preference.PreferenceViewHolder;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -152,6 +153,7 @@ public class UnrestrictedDataAccessPreference extends AppSwitchPreference implem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
public AppStateDataUsageBridge.DataUsageState getDataUsageState() {
|
public AppStateDataUsageBridge.DataUsageState getDataUsageState() {
|
||||||
return mDataUsageState;
|
return mDataUsageState;
|
||||||
}
|
}
|
||||||
|
@@ -194,7 +194,9 @@ public class UnrestrictedDataAccessPreferenceController extends BasePreferenceCo
|
|||||||
logSpecialPermissionChange(allowlisted, accessPreference.getEntry().info.packageName);
|
logSpecialPermissionChange(allowlisted, accessPreference.getEntry().info.packageName);
|
||||||
mDataSaverBackend.setIsAllowlisted(accessPreference.getEntry().info.uid,
|
mDataSaverBackend.setIsAllowlisted(accessPreference.getEntry().info.uid,
|
||||||
accessPreference.getEntry().info.packageName, allowlisted);
|
accessPreference.getEntry().info.packageName, allowlisted);
|
||||||
accessPreference.getDataUsageState().isDataSaverAllowlisted = allowlisted;
|
if (accessPreference.getDataUsageState() != null) {
|
||||||
|
accessPreference.getDataUsageState().isDataSaverAllowlisted = allowlisted;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Reference in New Issue
Block a user