// 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.preferences; import android.app.Fragment; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import org.chromium.chrome.R; import org.chromium.chrome.browser.partnercustomizations.HomepageManager; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.widget.FloatLabelLayout; import org.chromium.components.url_formatter.UrlFormatter; /** * Provides the Java-UI for editing the homepage preference. */ public class HomepageEditor extends Fragment implements TextWatcher { private HomepageManager mHomepageManager; private EditText mHomepageUrlEdit; private Button mSaveButton; private Button mResetButton; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); mHomepageManager = HomepageManager.getInstance(getActivity()); getActivity().setTitle(R.string.options_homepage_edit_title); View v = inflater.inflate(R.layout.homepage_editor, container, false); FloatLabelLayout homepageUrl = (FloatLabelLayout) v.findViewById(R.id.homepage_url); homepageUrl.focusWithoutAnimation(); mHomepageUrlEdit = (EditText) v.findViewById(R.id.homepage_url_edit); mHomepageUrlEdit.setText((mHomepageManager.getPrefHomepageUseDefaultUri() ? PartnerBrowserCustomizations.getHomePageUrl() : mHomepageManager.getPrefHomepageCustomUri())); mHomepageUrlEdit.addTextChangedListener(this); initializeSaveCancelResetButtons(v); return v; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { mSaveButton.setEnabled(true); mResetButton.setEnabled(true); } @Override public void afterTextChanged(Editable s) { } private void initializeSaveCancelResetButtons(View v) { mResetButton = (Button) v.findViewById(R.id.homepage_reset); mResetButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mHomepageManager.setPrefHomepageUseDefaultUri(true); getActivity().finish(); } }); if (mHomepageManager.getPrefHomepageUseDefaultUri()) { mResetButton.setEnabled(false); } mSaveButton = (Button) v.findViewById(R.id.homepage_save); mSaveButton.setEnabled(false); mSaveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mHomepageManager.setPrefHomepageCustomUri( UrlFormatter.fixupUrl(mHomepageUrlEdit.getText().toString())); mHomepageManager.setPrefHomepageUseDefaultUri(false); getActivity().finish(); } }); Button button = (Button) v.findViewById(R.id.homepage_cancel); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getActivity().finish(); } }); } }