12a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler/*
22a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * Copyright (C) 2015 The Android Open Source Project
32a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler *
42a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * Licensed under the Apache License, Version 2.0 (the "License");
52a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * you may not use this file except in compliance with the License.
62a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * You may obtain a copy of the License at
72a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler *
82a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler *      http://www.apache.org/licenses/LICENSE-2.0
92a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler *
102a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * Unless required by applicable law or agreed to in writing, software
112a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * distributed under the License is distributed on an "AS IS" BASIS,
122a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * See the License for the specific language governing permissions and
142a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler * limitations under the License
152a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler */
162a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
172a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerpackage com.android.tv.settings.device.storage;
182a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
192a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.content.pm.PackageInfo;
202a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.content.pm.PackageManager;
212a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.os.Bundle;
222a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.support.annotation.NonNull;
232a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.support.v17.leanback.app.GuidedStepFragment;
242a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.support.v17.leanback.widget.GuidanceStylist;
252a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport android.support.v17.leanback.widget.GuidedAction;
262a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
272a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport com.android.tv.settings.R;
282a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
292a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerimport java.util.List;
302a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
312a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantlerpublic class ConfirmClearCacheFragment extends GuidedStepFragment {
322a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
332a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    @NonNull
342a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    @Override
352a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {
362a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        return new GuidanceStylist.Guidance(
372a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                getString(R.string.device_storage_clear_cache_title),
382a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                getString(R.string.device_storage_clear_cache_message),
392a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                null,
408f472252a02517b065b5de166135a50e93d4b425Tony Mantler                getContext().getDrawable(R.drawable.ic_settings_backup_restore_132dp)
412a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        );
422a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    }
432a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
442a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    @Override
452a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
462a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        actions.add(new GuidedAction.Builder(getContext())
472a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                .clickAction(GuidedAction.ACTION_ID_OK)
482a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                .build());
492a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        actions.add(new GuidedAction.Builder(getContext())
502a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                .clickAction(GuidedAction.ACTION_ID_CANCEL)
512a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                .build());
522a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    }
532a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler
542a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    @Override
552a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    public void onGuidedActionClicked(GuidedAction action) {
562a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        if (action.getId() == GuidedAction.ACTION_ID_OK) {
572a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            super.onGuidedActionClicked(action);
582a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            final PackageManager pm = getContext().getPackageManager();
592a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            final List<PackageInfo> infos = pm.getInstalledPackages(0);
602a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            for (PackageInfo info : infos) {
612a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler                pm.deleteApplicationCacheFiles(info.packageName, null);
622a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            }
632a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            getFragmentManager().popBackStack();
642a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        } else {
652a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler            getFragmentManager().popBackStack();
662a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler        }
672a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler    }
682a55a49f5a2d3f102c11f822c76f190a00249d50Tony Mantler}
69