summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/settings/DialerSettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/app/settings/DialerSettingsActivity.java')
-rw-r--r--java/com/android/dialer/app/settings/DialerSettingsActivity.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
index 706f0985a..89c69ca45 100644
--- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java
+++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
@@ -18,6 +18,7 @@ package com.android.dialer.app.settings;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.net.Uri;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
@@ -51,11 +52,28 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
protected SharedPreferences mPreferences;
private boolean migrationStatusOnBuildHeaders;
+ private List<Header> headers;
@Override
protected void onCreate(Bundle savedInstanceState) {
+ LogUtil.enterBlock("DialerSettingsActivity.onCreate");
super.onCreate(savedInstanceState);
mPreferences = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
+
+ Intent intent = getIntent();
+ Uri data = intent.getData();
+ if (data != null) {
+ String headerToOpen = data.getSchemeSpecificPart();
+ if (headerToOpen != null && headers != null) {
+ for (Header header : headers) {
+ if (headerToOpen.equals(header.fragment)) {
+ LogUtil.i("DialerSettingsActivity.onCreate", "switching to header: " + headerToOpen);
+ switchToHeader(header);
+ break;
+ }
+ }
+ }
+ }
}
@Override
@@ -72,6 +90,9 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
@Override
public void onBuildHeaders(List<Header> target) {
+ // Keep a reference to the list of headers (since PreferenceActivity.getHeaders() is @Hide)
+ headers = target;
+
if (showDisplayOptions()) {
Header displayOptionsHeader = new Header();
displayOptionsHeader.titleRes = R.string.display_options_title;