1 /* Copyright 2016 Braden Farmer
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 package com.farmerbb.taskbar.activity;
18 import android.content.Intent;
19 import android.content.SharedPreferences;
20 import android.os.Bundle;
21 import androidx.localbroadcastmanager.content.LocalBroadcastManager;
22 import androidx.appcompat.app.AppCompatActivity;
23 import android.view.View;
24 import android.widget.Button;
25 import android.widget.CheckBox;
26 import android.widget.CompoundButton;
28 import com.farmerbb.taskbar.R;
29 import com.farmerbb.taskbar.content.TaskbarIntent;
30 import com.farmerbb.taskbar.util.Blacklist;
31 import com.farmerbb.taskbar.util.PinnedBlockedApps;
32 import com.farmerbb.taskbar.util.SavedWindowSizes;
33 import com.farmerbb.taskbar.util.TopApps;
34 import com.farmerbb.taskbar.util.U;
36 public class ClearDataActivity extends AppCompatActivity {
41 CheckBox savedWindowSizes;
42 CheckBox desktopIcons;
46 CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener() {
48 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
50 || hiddenApps.isChecked()
51 || topApps.isChecked()
52 || savedWindowSizes.isChecked()
53 || desktopIcons.isChecked())
54 button.setText(getResources().getString(R.string.tb_action_reset).toUpperCase());
56 button.setText(getResources().getString(R.string.tb_action_close).toUpperCase());
61 protected void onCreate(Bundle savedInstanceState) {
62 super.onCreate(savedInstanceState);
63 setContentView(R.layout.tb_clear_data);
64 setTitle(R.string.tb_clear_pinned_apps);
66 pba = findViewById(R.id.clear_pba);
67 pba.setOnCheckedChangeListener(listener);
69 hiddenApps = findViewById(R.id.clear_hidden_apps);
70 hiddenApps.setOnCheckedChangeListener(listener);
72 topApps = findViewById(R.id.clear_top_apps);
73 topApps.setOnCheckedChangeListener(listener);
75 savedWindowSizes = findViewById(R.id.clear_window_sizes);
76 if(U.canEnableFreeform())
77 savedWindowSizes.setOnCheckedChangeListener(listener);
79 savedWindowSizes.setVisibility(View.GONE);
81 desktopIcons = findViewById(R.id.clear_desktop_icons);
82 desktopIcons.setOnCheckedChangeListener(listener);
84 button = findViewById(R.id.button);
85 button.setText(getResources().getString(R.string.tb_action_close).toUpperCase());
86 button.setOnClickListener(view -> {
88 PinnedBlockedApps.getInstance(this).clear(this);
90 if(hiddenApps.isChecked())
91 Blacklist.getInstance(this).clear(this);
93 if(topApps.isChecked())
94 TopApps.getInstance(this).clear(this);
96 if(savedWindowSizes.isChecked())
97 SavedWindowSizes.getInstance(this).clear(this);
99 if(desktopIcons.isChecked()) {
100 SharedPreferences pref = U.getSharedPreferences(this);
101 pref.edit().remove("desktop_icons").apply();
102 LocalBroadcastManager
105 new Intent(TaskbarIntent.ACTION_REFRESH_DESKTOP_ICONS)