11d422e9d731ff97d626c0705393257c798fcd189mariagpuyol/* 21d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * Copyright (C) 2016 The Android Open Source Project 31d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * 41d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * Licensed under the Apache License, Version 2.0 (the "License"); 51d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * you may not use this file except in compliance with the License. 61d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * You may obtain a copy of the License at 71d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * 81d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * http://www.apache.org/licenses/LICENSE-2.0 91d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * 101d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * Unless required by applicable law or agreed to in writing, software 111d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * distributed under the License is distributed on an "AS IS" BASIS, 121d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * See the License for the specific language governing permissions and 141d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * limitations under the License. 151d422e9d731ff97d626c0705393257c798fcd189mariagpuyol */ 165874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyolpackage com.android.emergency.preferences; 171d422e9d731ff97d626c0705393257c798fcd189mariagpuyol 181d422e9d731ff97d626c0705393257c798fcd189mariagpuyolimport android.content.Context; 191d422e9d731ff97d626c0705393257c798fcd189mariagpuyolimport android.preference.EditTextPreference; 205874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyolimport android.text.TextUtils; 211d422e9d731ff97d626c0705393257c798fcd189mariagpuyolimport android.util.AttributeSet; 22df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyolimport android.view.View; 23df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyolimport android.widget.TextView; 241d422e9d731ff97d626c0705393257c798fcd189mariagpuyol 255874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyolimport com.android.emergency.ReloadablePreferenceInterface; 265874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol 271d422e9d731ff97d626c0705393257c798fcd189mariagpuyol/** 281d422e9d731ff97d626c0705393257c798fcd189mariagpuyol * Custom {@link EditTextPreference} that allows us to refresh and update the summary. 291d422e9d731ff97d626c0705393257c798fcd189mariagpuyol */ 301d422e9d731ff97d626c0705393257c798fcd189mariagpuyolpublic class EmergencyEditTextPreference extends EditTextPreference 311d422e9d731ff97d626c0705393257c798fcd189mariagpuyol implements ReloadablePreferenceInterface { 321d422e9d731ff97d626c0705393257c798fcd189mariagpuyol 33df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol private static final int MAX_LINES = 50; 34df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol 351d422e9d731ff97d626c0705393257c798fcd189mariagpuyol public EmergencyEditTextPreference(Context context, AttributeSet attrs) { 361d422e9d731ff97d626c0705393257c798fcd189mariagpuyol super(context, attrs); 371d422e9d731ff97d626c0705393257c798fcd189mariagpuyol } 381d422e9d731ff97d626c0705393257c798fcd189mariagpuyol 391d422e9d731ff97d626c0705393257c798fcd189mariagpuyol @Override 401d422e9d731ff97d626c0705393257c798fcd189mariagpuyol public void reloadFromPreference() { 411d422e9d731ff97d626c0705393257c798fcd189mariagpuyol setText(getPersistedString("")); 421d422e9d731ff97d626c0705393257c798fcd189mariagpuyol } 431d422e9d731ff97d626c0705393257c798fcd189mariagpuyol 441d422e9d731ff97d626c0705393257c798fcd189mariagpuyol @Override 455874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol public boolean isNotSet() { 465874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol return TextUtils.isEmpty(getText()); 475874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol } 485874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol 495874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol @Override 501d422e9d731ff97d626c0705393257c798fcd189mariagpuyol public CharSequence getSummary() { 511d422e9d731ff97d626c0705393257c798fcd189mariagpuyol String text = getText(); 525874835f1edc1cac42eb4b3aa5fe437e8fd53c78mariagpuyol return TextUtils.isEmpty(text) ? super.getSummary() : text; 531d422e9d731ff97d626c0705393257c798fcd189mariagpuyol } 54df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol 55df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol @Override 56df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol protected void onBindView(View view) { 57df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol super.onBindView(view); 58df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol final TextView summaryView = (TextView) view.findViewById( 59df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol com.android.internal.R.id.summary); 60df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol summaryView.setMaxLines(MAX_LINES); 61df6e53aa87f74a07c63d585efa2425218a37cb99mariagpuyol } 621d422e9d731ff97d626c0705393257c798fcd189mariagpuyol} 63