blob: b0d94678687b51f8e9361745c692bd4515e206a9 [file] [log] [blame]
// 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.util.FeatureUtilities;
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();
if (FeatureUtilities.isNewTabPageButtonEnabled()) {
getActivity().setTitle(R.string.options_startup_page_edit_title);
} else {
getActivity().setTitle(R.string.options_homepage_edit_title);
}
View v = inflater.inflate(R.layout.homepage_editor, container, false);
View scrollView = v.findViewById(R.id.scroll_view);
scrollView.getViewTreeObserver().addOnScrollChangedListener(
PreferenceUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
mHomepageUrlEdit = (EditText) v.findViewById(R.id.homepage_url_edit);
mHomepageUrlEdit.setText(HomepageManager.getHomepageUri());
mHomepageUrlEdit.addTextChangedListener(this);
mHomepageUrlEdit.requestFocus();
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();
}
});
}
}