package com.duckduckgo.mobile.android.tasks; import com.duckduckgo.mobile.android.DDGApplication; import com.duckduckgo.mobile.android.db.DdgDB; import com.duckduckgo.mobile.android.util.AppShortInfo; import com.duckduckgo.mobile.android.util.DDGUtils; import android.content.Context; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; import android.util.Log; public class ScanAppsTask extends AsyncTask<Void, Void, Void>{ Context context; public ScanAppsTask(Context context) { this.context = context; } @Override protected Void doInBackground(Void... params) { Log.v("SCAN", "indexing apps..."); DdgDB db = DDGApplication.getDB(); SQLiteDatabase sqlDB = db.getSQLiteDB(); try{ sqlDB.beginTransaction(); db.deleteApps(); for(AppShortInfo appInfo : DDGUtils.getInstalledComponents(context)) { db.insertApp(appInfo); } sqlDB.setTransactionSuccessful(); } catch (SQLException e) { } finally { sqlDB.endTransaction(); } return null; } }