OSDN Git Service

Extract REFRESH_DESKTOP_ICONS to TaskbarIntent constant
[android-x86/packages-apps-Taskbar.git] / app / src / main / java / com / farmerbb / taskbar / activity / ClearDataActivity.java
1 /* Copyright 2016 Braden Farmer
2  *
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
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
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.
14  */
15
16 package com.farmerbb.taskbar.activity;
17
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;
27
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;
35
36 public class ClearDataActivity extends AppCompatActivity {
37
38     CheckBox pba;
39     CheckBox hiddenApps;
40     CheckBox topApps;
41     CheckBox savedWindowSizes;
42     CheckBox desktopIcons;
43
44     Button button;
45     
46     CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener() {
47         @Override
48         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
49             if(pba.isChecked()
50                     || hiddenApps.isChecked()
51                     || topApps.isChecked()
52                     || savedWindowSizes.isChecked()
53                     || desktopIcons.isChecked())
54                 button.setText(getResources().getString(R.string.tb_action_reset).toUpperCase());
55             else
56                 button.setText(getResources().getString(R.string.tb_action_close).toUpperCase());
57         }
58     };
59     
60     @Override
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);
65
66         pba = findViewById(R.id.clear_pba);
67         pba.setOnCheckedChangeListener(listener);
68         
69         hiddenApps = findViewById(R.id.clear_hidden_apps);
70         hiddenApps.setOnCheckedChangeListener(listener);
71         
72         topApps = findViewById(R.id.clear_top_apps);
73         topApps.setOnCheckedChangeListener(listener);
74         
75         savedWindowSizes = findViewById(R.id.clear_window_sizes);
76         if(U.canEnableFreeform())
77             savedWindowSizes.setOnCheckedChangeListener(listener);
78         else
79             savedWindowSizes.setVisibility(View.GONE);
80
81         desktopIcons = findViewById(R.id.clear_desktop_icons);
82         desktopIcons.setOnCheckedChangeListener(listener);
83         
84         button = findViewById(R.id.button);
85         button.setText(getResources().getString(R.string.tb_action_close).toUpperCase());
86         button.setOnClickListener(view -> {
87             if(pba.isChecked())
88                 PinnedBlockedApps.getInstance(this).clear(this);
89
90             if(hiddenApps.isChecked())
91                 Blacklist.getInstance(this).clear(this);
92
93             if(topApps.isChecked())
94                 TopApps.getInstance(this).clear(this);
95
96             if(savedWindowSizes.isChecked())
97                 SavedWindowSizes.getInstance(this).clear(this);
98
99             if(desktopIcons.isChecked()) {
100                 SharedPreferences pref = U.getSharedPreferences(this);
101                 pref.edit().remove("desktop_icons").apply();
102                 LocalBroadcastManager
103                         .getInstance(this)
104                         .sendBroadcast(
105                                 new Intent(TaskbarIntent.ACTION_REFRESH_DESKTOP_ICONS)
106                         );
107             }
108
109             finish();
110         });
111     }
112 }