diff --git a/app/src/main/java/com/example/vu/android/empowerplant/AppDatabase.java b/app/src/main/java/com/example/vu/android/empowerplant/AppDatabase.java index 2f9571f..3a864e5 100644 --- a/app/src/main/java/com/example/vu/android/empowerplant/AppDatabase.java +++ b/app/src/main/java/com/example/vu/android/empowerplant/AppDatabase.java @@ -17,7 +17,6 @@ public static synchronized AppDatabase getInstance(Context context){ if (INSTANCE == null){ INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class,"AppDatabase") - .allowMainThreadQueries() .build(); } return INSTANCE; diff --git a/app/src/main/java/com/example/vu/android/empowerplant/EmpowerPlantActivity.java b/app/src/main/java/com/example/vu/android/empowerplant/EmpowerPlantActivity.java index f64093f..143069b 100644 --- a/app/src/main/java/com/example/vu/android/empowerplant/EmpowerPlantActivity.java +++ b/app/src/main/java/com/example/vu/android/empowerplant/EmpowerPlantActivity.java @@ -12,6 +12,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import com.example.vu.android.MainActivity; import com.example.vu.android.MyBaseActivity; @@ -24,14 +26,22 @@ public class EmpowerPlantActivity extends MyBaseActivity { static boolean active = false; MainFragment fragment = null; TextView textCartItemCount; + private ExecutorService executorService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_empowerplant); - dbQuery(); - addAttachment(true); + + executorService = Executors.newSingleThreadExecutor(); + + // Move blocking operations to a background thread + executorService.submit(() -> { + dbQuery(); + addAttachment(true); + }); + checkRelease(); this.loadFragmentList(); } @@ -127,4 +137,12 @@ public void onStop() { super.onStop(); active = false; } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (executorService != null) { + executorService.shutdown(); + } + } } \ No newline at end of file