import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.LinearLayout;
import com.farmerbb.taskbar.R;
-import com.farmerbb.taskbar.util.TaskbarIntent;
-import com.farmerbb.taskbar.util.DashboardHelper;
+import com.farmerbb.taskbar.helper.DashboardHelper;
import com.farmerbb.taskbar.util.DisplayInfo;
-import com.farmerbb.taskbar.util.LauncherHelper;
+import com.farmerbb.taskbar.helper.LauncherHelper;
import com.farmerbb.taskbar.util.U;
+import static com.farmerbb.taskbar.util.Constants.*;
+
public class DashboardActivity extends Activity {
private AppWidgetManager mAppWidgetManager;
@Override
public void onReceive(Context context, Intent intent) {
mAppWidgetManager = AppWidgetManager.getInstance(context);
- mAppWidgetHost = new AppWidgetHost(context, intent.getIntExtra("appWidgetId", -1));
- cellId = intent.getIntExtra("cellId", -1);
+ mAppWidgetHost = new AppWidgetHost(context, intent.getIntExtra(EXTRA_APPWIDGET_ID, -1));
+ cellId = intent.getIntExtra(EXTRA_CELL_ID, -1);
int appWidgetId = mAppWidgetHost.allocateAppWidgetId();
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
try {
startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET);
- U.sendBroadcast(DashboardActivity.this, TaskbarIntent.ACTION_TEMP_HIDE_TASKBAR);
+ U.sendBroadcast(DashboardActivity.this, ACTION_TEMP_HIDE_TASKBAR);
} catch (ActivityNotFoundException e) {
U.showToast(DashboardActivity.this, R.string.tb_lock_device_not_supported);
finish();
private BroadcastReceiver removeWidgetReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, Intent intent) {
- cellId = intent.getIntExtra("cellId", -1);
+ cellId = intent.getIntExtra(EXTRA_CELL_ID, -1);
AlertDialog.Builder builder = new AlertDialog.Builder(DashboardActivity.this);
builder.setTitle(R.string.tb_remove_widget)
.setMessage(R.string.tb_are_you_sure)
.setNegativeButton(R.string.tb_action_cancel, (dialog, which) -> {
- U.sendBroadcast(DashboardActivity.this, TaskbarIntent.ACTION_REMOVE_WIDGET_COMPLETED);
+ U.sendBroadcast(DashboardActivity.this, ACTION_REMOVE_WIDGET_COMPLETED);
shouldFinish = true;
})
.setPositiveButton(R.string.tb_action_ok, (dialog, which) -> {
- Intent intent1 = new Intent(TaskbarIntent.ACTION_REMOVE_WIDGET_COMPLETED);
- intent1.putExtra("cellId", cellId);
+ Intent intent1 = new Intent(ACTION_REMOVE_WIDGET_COMPLETED);
+ intent1.putExtra(EXTRA_CELL_ID, cellId);
U.sendBroadcast(DashboardActivity.this, intent1);
shouldFinish = true;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- contextMenuFix = getIntent().hasExtra("context_menu_fix");
+ contextMenuFix = getIntent().hasExtra(EXTRA_CONTEXT_MENU_FIX);
// Detect outside touches, and finish the activity when one is detected
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
LinearLayout layout = findViewById(R.id.incognitoLayout);
layout.setLayoutParams(new FrameLayout.LayoutParams(display.width, display.height));
- U.registerReceiver(this, addWidgetReceiver, TaskbarIntent.ACTION_ADD_WIDGET_REQUESTED);
- U.registerReceiver(this, removeWidgetReceiver, TaskbarIntent.ACTION_REMOVE_WIDGET_REQUESTED);
- U.registerReceiver(this, finishReceiver, TaskbarIntent.ACTION_DASHBOARD_DISAPPEARING);
+ U.registerReceiver(this, addWidgetReceiver, ACTION_ADD_WIDGET_REQUESTED);
+ U.registerReceiver(this, removeWidgetReceiver, ACTION_REMOVE_WIDGET_REQUESTED);
+ U.registerReceiver(this, finishReceiver, ACTION_DASHBOARD_DISAPPEARING);
if(!DashboardHelper.getInstance().isDashboardOpen()) finish();
}
U.startFreeformHack(this);
}
- U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_DASHBOARD);
+ U.sendBroadcast(this, ACTION_HIDE_DASHBOARD);
}
@Override
return super.dispatchKeyShortcutEvent(event);
}
+ // @Override
+ public void onTopResumedActivityChanged(boolean isTopResumedActivity) {
+ if(!isTopResumedActivity)
+ performOnPauseLogic();
+ }
+
@Override
protected void onPause() {
super.onPause();
+ if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.P)
+ performOnPauseLogic();
+ }
+
+ private void performOnPauseLogic() {
if(shouldFinish) {
if(shouldCollapse) {
if(U.shouldCollapse(this, true)) {
- U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_TASKBAR);
+ U.sendBroadcast(this, ACTION_HIDE_TASKBAR);
} else {
- U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_START_MENU);
+ U.sendBroadcast(this, ACTION_HIDE_START_MENU);
}
}
}
}
- U.sendBroadcast(this, TaskbarIntent.ACTION_ADD_WIDGET_COMPLETED);
- U.sendBroadcast(this, TaskbarIntent.ACTION_TEMP_SHOW_TASKBAR);
+ U.sendBroadcast(this, ACTION_ADD_WIDGET_COMPLETED);
+ U.sendBroadcast(this, ACTION_TEMP_SHOW_TASKBAR);
shouldFinish = true;
}
startActivityForResult(intent, REQUEST_CREATE_APPWIDGET);
SharedPreferences pref = U.getSharedPreferences(this);
- if(LauncherHelper.getInstance().isOnHomeScreen()
- && (!pref.getBoolean("taskbar_active", false)
- || pref.getBoolean("is_hidden", false)))
- pref.edit().putBoolean("dont_stop_dashboard", true).apply();
+ if(LauncherHelper.getInstance().isOnHomeScreen(this)
+ && (!pref.getBoolean(PREF_TASKBAR_ACTIVE, false)
+ || pref.getBoolean(PREF_IS_HIDDEN, false)))
+ pref.edit().putBoolean(PREF_DONT_STOP_DASHBOARD, true).apply();
shouldFinish = false;
} else {
}
private void createWidget(Intent data) {
- Intent intent = new Intent(TaskbarIntent.ACTION_ADD_WIDGET_COMPLETED);
- intent.putExtra("appWidgetId", data.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1));
- intent.putExtra("cellId", cellId);
+ Intent intent = new Intent(ACTION_ADD_WIDGET_COMPLETED);
+ intent.putExtra(
+ EXTRA_APPWIDGET_ID,
+ data.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1)
+ );
+ intent.putExtra(EXTRA_CELL_ID, cellId);
U.sendBroadcast(this, intent);
- U.sendBroadcast(this, TaskbarIntent.ACTION_TEMP_SHOW_TASKBAR);
+ U.sendBroadcast(this, ACTION_TEMP_SHOW_TASKBAR);
shouldFinish = true;
}