1697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler/* 2697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * Copyright (C) 2015 The Android Open Source Project 3697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * 4697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * Licensed under the Apache License, Version 2.0 (the "License"); 5697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * you may not use this file except in compliance with the License. 6697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * You may obtain a copy of the License at 7697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * 8697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * http://www.apache.org/licenses/LICENSE-2.0 9697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * 10697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * Unless required by applicable law or agreed to in writing, software 11697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * distributed under the License is distributed on an "AS IS" BASIS, 12697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * See the License for the specific language governing permissions and 14697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler * limitations under the License 15697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler */ 16697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 17697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerpackage com.android.tv.settings.dialog; 18697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 19697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.app.Fragment; 20697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.graphics.drawable.Drawable; 21697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.os.Bundle; 228f38002bda894e4e9fd55fb87bff2818460c2304Tony Mantlerimport android.support.annotation.DrawableRes; 238f38002bda894e4e9fd55fb87bff2818460c2304Tony Mantlerimport android.support.annotation.Nullable; 248f38002bda894e4e9fd55fb87bff2818460c2304Tony Mantlerimport android.support.annotation.StringRes; 25697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.text.TextUtils; 26697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.view.LayoutInflater; 27697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.view.View; 28697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.view.ViewGroup; 29697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.widget.ImageView; 30697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.widget.ProgressBar; 31697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport android.widget.TextView; 32697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 33697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerimport com.android.tv.settings.R; 34697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 35697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantlerpublic class ProgressDialogFragment extends Fragment { 36697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 37697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler private ImageView mIconView; 38697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler private TextView mTitleView; 398aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler private TextView mExtraTextView; 40697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler private TextView mSummaryView; 41697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler private ProgressBar mProgressBar; 4244cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler private int mWidth = -1; 43697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 44697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler @Override 45697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public @Nullable View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 46697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler Bundle savedInstanceState) { 47697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler final ViewGroup view = 48697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler (ViewGroup) inflater.inflate(R.layout.progress_fragment, container, false); 49697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 50697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mIconView = (ImageView) view.findViewById(android.R.id.icon); 51697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mTitleView = (TextView) view.findViewById(android.R.id.title); 528aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler mExtraTextView = (TextView) view.findViewById(R.id.extra); 53697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mSummaryView = (TextView) view.findViewById(android.R.id.summary); 54697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mProgressBar = (ProgressBar) view.findViewById(android.R.id.progress); 55697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 5644cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler if (mWidth != -1) { 5744cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler final ViewGroup.LayoutParams params = view.getLayoutParams(); 5844cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler params.width = mWidth; 5944cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler view.setLayoutParams(params); 6044cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler } 6144cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler 62697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler return view; 63697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 64697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 65697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setIcon(@DrawableRes int resId) { 66697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mIconView.setImageResource(resId); 67697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mIconView.setVisibility(View.VISIBLE); 68697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 69697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 70697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setIcon(@Nullable Drawable icon) { 71697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mIconView.setImageDrawable(icon); 72697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mIconView.setVisibility(icon == null ? View.GONE : View.VISIBLE); 73697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 74697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 75697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setTitle(@StringRes int resId) { 76697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mTitleView.setText(resId); 77697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 78697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 79697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setTitle(CharSequence title) { 80697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mTitleView.setText(title); 81697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 82697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 838aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler public void setExtraText(@StringRes int resId) { 848aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler mExtraTextView.setText(resId); 85697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 86697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 878aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler public void setExtraText(CharSequence text) { 888aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler mExtraTextView.setText(text); 898aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler mExtraTextView.setVisibility(TextUtils.isEmpty(text) ? View.GONE : View.VISIBLE); 90697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 91697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 92697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setSummary(@StringRes int resId) { 93697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mSummaryView.setText(resId); 94697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 95697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 968aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler public void setSummary(CharSequence summary) { 978aba903296170792c2362e9c7fa6ef056ce8cf3aTony Mantler mSummaryView.setText(summary); 98697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 99697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 100697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setIndeterminte(boolean indeterminte) { 101697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mProgressBar.setIndeterminate(indeterminte); 102697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 103697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 104697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setProgress(int progress) { 105697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mProgressBar.setProgress(progress); 106697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 107697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler 108697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler public void setProgressMax(int max) { 109697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler mProgressBar.setMax(max); 110697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler } 11144cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler 11244cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler public void setContentWidth(int width) { 11344cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler mWidth = width; 11444cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler final View root = getView(); 11544cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler if (root == null) { 11644cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler return; 11744cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler } 11844cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler final ViewGroup.LayoutParams params = root.getLayoutParams(); 11944cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler params.width = width; 12044cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler root.setLayoutParams(params); 12144cdbbc4783ca30aef2c64bfe7804cffe818d534Tony Mantler } 122697bc6350e01bc9cf10ab07e1dc200b87db6bc71Tony Mantler} 123