Merge "Make Activity.getReferrer tolerate custom Parcelables in intents" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7a37f8945f
@@ -57,6 +57,7 @@ import android.hardware.input.InputManager;
|
|||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.media.session.MediaController;
|
import android.media.session.MediaController;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.BadParcelableException;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -5006,6 +5007,7 @@ public class Activity extends ContextThemeWrapper
|
|||||||
@Nullable
|
@Nullable
|
||||||
public Uri getReferrer() {
|
public Uri getReferrer() {
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
try {
|
||||||
Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
|
Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
|
||||||
if (referrer != null) {
|
if (referrer != null) {
|
||||||
return referrer;
|
return referrer;
|
||||||
@@ -5014,6 +5016,10 @@ public class Activity extends ContextThemeWrapper
|
|||||||
if (referrerName != null) {
|
if (referrerName != null) {
|
||||||
return Uri.parse(referrerName);
|
return Uri.parse(referrerName);
|
||||||
}
|
}
|
||||||
|
} catch (BadParcelableException e) {
|
||||||
|
Log.w(TAG, "Cannot read referrer from intent;"
|
||||||
|
+ " intent extras contain unknown custom Parcelable objects");
|
||||||
|
}
|
||||||
if (mReferrer != null) {
|
if (mReferrer != null) {
|
||||||
return new Uri.Builder().scheme("android-app").authority(mReferrer).build();
|
return new Uri.Builder().scheme("android-app").authority(mReferrer).build();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user