| Index: chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..368d6a5a5a684bf93425fc7231fad22b0a142ace
|
| --- /dev/null
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
| @@ -0,0 +1,91 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.chrome.browser.firstrun;
|
| +
|
| +import android.content.Context;
|
| +import android.os.Bundle;
|
| +import android.text.method.LinkMovementMethod;
|
| +import android.text.style.ClickableSpan;
|
| +import android.view.LayoutInflater;
|
| +import android.view.View;
|
| +import android.view.View.OnClickListener;
|
| +import android.view.ViewGroup;
|
| +import android.widget.Button;
|
| +import android.widget.CheckBox;
|
| +import android.widget.TextView;
|
| +
|
| +import org.chromium.base.ApiCompatibilityUtils;
|
| +import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
| +import org.chromium.ui.text.SpanApplier;
|
| +import org.chromium.ui.text.SpanApplier.SpanInfo;
|
| +
|
| +/**
|
| + * The First Run Experience fragment that allows the user to accept Terms of Service ("ToS") and
|
| + * Privacy Notice, and to opt-in to the usage statistics and crash reports collection ("UMA",
|
| + * User Metrics Analysis) as defined in the Chrome Privacy Notice.
|
| + */
|
| +public class ToSAndUMAFirstRunFragment extends FirstRunPage {
|
| + private Button mAcceptButton;
|
| + private CheckBox mSendReportCheckBox;
|
| + private TextView mTosAndPrivacy;
|
| +
|
| + @Override
|
| + public View onCreateView(
|
| + LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
| + return inflater.inflate(R.layout.fre_tosanduma, container, false);
|
| + }
|
| +
|
| + @Override
|
| + public void onViewCreated(View view, Bundle savedInstanceState) {
|
| + super.onViewCreated(view, savedInstanceState);
|
| +
|
| + mAcceptButton = (Button) view.findViewById(R.id.terms_accept);
|
| + mSendReportCheckBox = (CheckBox) view.findViewById(R.id.send_report_checkbox);
|
| + mTosAndPrivacy = (TextView) view.findViewById(R.id.tos_and_privacy);
|
| +
|
| + mAcceptButton.setOnClickListener(new OnClickListener() {
|
| + @Override
|
| + public void onClick(View v) {
|
| + getPageDelegate().acceptTermsOfService(mSendReportCheckBox.isChecked());
|
| + }
|
| + });
|
| +
|
| + int paddingStart = getResources().getDimensionPixelSize(R.dimen.fre_tos_checkbox_padding);
|
| + ApiCompatibilityUtils.setPaddingRelative(mSendReportCheckBox,
|
| + ApiCompatibilityUtils.getPaddingStart(mSendReportCheckBox) + paddingStart,
|
| + mSendReportCheckBox.getPaddingTop(),
|
| + ApiCompatibilityUtils.getPaddingEnd(mSendReportCheckBox),
|
| + mSendReportCheckBox.getPaddingBottom());
|
| +
|
| + mSendReportCheckBox.setChecked(!getPageDelegate().isNeverUploadCrashDump());
|
| +
|
| + mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
|
| +
|
| + ClickableSpan clickableTermsSpan = new ClickableSpan() {
|
| + @Override
|
| + public void onClick(View widget) {
|
| + getPageDelegate().showEmbedContentViewActivity(R.string.terms_of_service_title,
|
| + R.string.chrome_terms_of_service_url);
|
| + }
|
| + };
|
| +
|
| + ClickableSpan clickablePrivacySpan = new ClickableSpan() {
|
| + @Override
|
| + public void onClick(View widget) {
|
| + getPageDelegate().showEmbedContentViewActivity(R.string.privacy_notice_title,
|
| + R.string.chrome_privacy_notice_url);
|
| + }
|
| + };
|
| + mTosAndPrivacy.setText(SpanApplier.applySpans(getString(R.string.fre_tos_and_privacy),
|
| + new SpanInfo("<LINK1>", "</LINK1>", clickableTermsSpan),
|
| + new SpanInfo("<LINK2>", "</LINK2>", clickablePrivacySpan)));
|
| + }
|
| +
|
| + @Override
|
| + public boolean shouldSkipPageOnResume(Context appContext) {
|
| + return PrefServiceBridge.getInstance().isFirstRunEulaAccepted();
|
| + }
|
| +}
|
|
|