| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 package org.chromium.chrome.browser.physicalweb; | |
| 6 | |
| 7 import android.content.Intent; | |
| 8 import android.net.Uri; | |
| 9 import android.os.Bundle; | |
| 10 import android.support.v7.app.AppCompatActivity; | |
| 11 import android.text.SpannableString; | |
| 12 import android.text.TextPaint; | |
| 13 import android.text.method.LinkMovementMethod; | |
| 14 import android.text.style.ClickableSpan; | |
| 15 import android.view.View; | |
| 16 import android.widget.Button; | |
| 17 import android.widget.TextView; | |
| 18 | |
| 19 import org.chromium.chrome.R; | |
| 20 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager
; | |
| 21 import org.chromium.ui.text.SpanApplier; | |
| 22 import org.chromium.ui.text.SpanApplier.SpanInfo; | |
| 23 | |
| 24 /** | |
| 25 * This activity invites the user to opt-in to the Physical Web feature. | |
| 26 */ | |
| 27 public class PhysicalWebOptInActivity extends AppCompatActivity { | |
| 28 private static final String EXTRA_CUSTOM_TABS_SESSION = | |
| 29 "android.support.customtabs.extra.SESSION"; | |
| 30 private static final String PHYSICAL_WEB_LEARN_MORE_URL = | |
| 31 "https://support.google.com/chrome/answer/6239299/"; | |
| 32 | |
| 33 @Override | |
| 34 protected void onCreate(Bundle savedInstanceState) { | |
| 35 super.onCreate(savedInstanceState); | |
| 36 setContentView(R.layout.physical_web_optin); | |
| 37 | |
| 38 TextView description = (TextView) findViewById(R.id.physical_web_optin_d
escription); | |
| 39 description.setMovementMethod(LinkMovementMethod.getInstance()); | |
| 40 description.setText(getDescriptionText()); | |
| 41 | |
| 42 Button declineButton = (Button) findViewById(R.id.physical_web_decline); | |
| 43 declineButton.setOnClickListener(new View.OnClickListener() { | |
| 44 @Override | |
| 45 public void onClick(View v) { | |
| 46 PhysicalWebUma.onOptInDeclineButtonPressed(); | |
| 47 PrivacyPreferencesManager.getInstance().setPhysicalWebEnabled(fa
lse); | |
| 48 finish(); | |
| 49 } | |
| 50 }); | |
| 51 | |
| 52 Button enableButton = (Button) findViewById(R.id.physical_web_enable); | |
| 53 enableButton.setOnClickListener(new View.OnClickListener() { | |
| 54 @Override | |
| 55 public void onClick(View v) { | |
| 56 PhysicalWebUma.onOptInEnableButtonPressed(); | |
| 57 PrivacyPreferencesManager.getInstance().setPhysicalWebEnabled(tr
ue); | |
| 58 finish(); | |
| 59 } | |
| 60 }); | |
| 61 } | |
| 62 | |
| 63 private SpannableString getDescriptionText() { | |
| 64 return SpanApplier.applySpans( | |
| 65 getString(R.string.physical_web_optin_description), | |
| 66 new SpanInfo("<learnmore>", "</learnmore>", new ClickableSpan()
{ | |
| 67 @Override | |
| 68 public void onClick(View v) { | |
| 69 Intent intent = new Intent(Intent.ACTION_VIEW, | |
| 70 Uri.parse(PHYSICAL_WEB_LEARN_MORE_URL)); | |
| 71 // Add the SESSION extra to indicate we want a Chrome cu
stom tab. This | |
| 72 // allows the help page to open in the same task as the
opt-in activity so | |
| 73 // they can share a back stack. | |
| 74 String session = null; | |
| 75 intent.putExtra(EXTRA_CUSTOM_TABS_SESSION, session); | |
| 76 PhysicalWebOptInActivity.this.startActivity(intent); | |
| 77 } | |
| 78 | |
| 79 @Override | |
| 80 public void updateDrawState(TextPaint ds) { | |
| 81 // Color links but do not underline them. | |
| 82 ds.setColor(ds.linkColor); | |
| 83 } | |
| 84 })); | |
| 85 } | |
| 86 } | |
| OLD | NEW |