Commit a267e1b4 authored by Chunlei Niu's avatar Chunlei Niu Committed by Commit Bot

Read serial number in the right way on Android Q+.

Change-Id: I29ad465db87724e9731d19aaac246afb5af8b7bd
Bug: b/161484971
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2311065
Commit-Queue: Chunlei Niu <niuchl@google.com>
Reviewed-by: default avatarSimeon Anfinrud <sanfin@chromium.org>
Reviewed-by: default avatarLuke Halliwell (slow) <halliwell@chromium.org>
Auto-Submit: Chunlei Niu <niuchl@google.com>
Cr-Commit-Position: refs/heads/master@{#823241}
parent 1d6d5027
......@@ -5,8 +5,13 @@
package org.chromium.chromecast.shell;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import androidx.core.content.ContextCompat;
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
......@@ -16,11 +21,21 @@ import org.chromium.base.annotations.JNINamespace;
@JNINamespace("chromecast")
public final class CastSysInfoAndroid {
private static final String TAG = "CastSysInfoAndroid";
private static final String READ_PRIVILEGED_PHONE_STATE_PERMISSION =
"android.permission.READ_PRIVILEGED_PHONE_STATE";
@SuppressLint("HardwareIds")
@SuppressLint({"HardwareIds", "MissingPermission"})
@CalledByNative
public static String getSerialNumber() {
if (!Build.SERIAL.equals(Build.UNKNOWN)) return Build.SERIAL;
String serialNumber = Build.SERIAL;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Context context = ContextUtils.getApplicationContext();
if (ContextCompat.checkSelfPermission(context, READ_PRIVILEGED_PHONE_STATE_PERMISSION)
== PackageManager.PERMISSION_GRANTED) {
serialNumber = Build.getSerial();
}
}
if (!Build.UNKNOWN.equals(serialNumber)) return serialNumber;
return CastSerialGenerator.getGeneratedSerial();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment