mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-22 22:57:29 +00:00
various updates
This commit is contained in:
parent
21ad1e3748
commit
e1c07c23a7
@ -237,7 +237,7 @@ public final class MainHelper implements SwipeRefreshLayout.OnRefreshListener {
|
|||||||
final Object tag = v.getTag();
|
final Object tag = v.getTag();
|
||||||
if (tag instanceof FeedStoryModel) {
|
if (tag instanceof FeedStoryModel) {
|
||||||
final FeedStoryModel feedStoryModel = (FeedStoryModel) tag;
|
final FeedStoryModel feedStoryModel = (FeedStoryModel) tag;
|
||||||
final StoryModel[] storyModels = feedStoryModel.getStoryModels();
|
StoryModel[] storyModels = feedStoryModel.getStoryModels();
|
||||||
final int index = indexOfIntArray(stories, feedStoryModel);
|
final int index = indexOfIntArray(stories, feedStoryModel);
|
||||||
|
|
||||||
main.startActivity(new Intent(main, StoryViewer.class)
|
main.startActivity(new Intent(main, StoryViewer.class)
|
||||||
|
@ -88,7 +88,8 @@ public final class FeedFetcher extends AsyncTask<Void, Void, FeedModel[]> {
|
|||||||
final boolean isVideo = feedItem.optBoolean("is_video");
|
final boolean isVideo = feedItem.optBoolean("is_video");
|
||||||
final long videoViews = feedItem.optLong("video_view_count", 0);
|
final long videoViews = feedItem.optLong("video_view_count", 0);
|
||||||
|
|
||||||
final String displayUrl = feedItem.getString("display_url");
|
final String displayUrl = feedItem.optString("display_url");
|
||||||
|
if (Utils.isEmpty(displayUrl)) continue;
|
||||||
final String resourceUrl;
|
final String resourceUrl;
|
||||||
|
|
||||||
if (isVideo) resourceUrl = feedItem.getString("video_url");
|
if (isVideo) resourceUrl = feedItem.getString("video_url");
|
||||||
|
@ -6,6 +6,7 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ public final class Constants {
|
|||||||
public static final String APP_THEME = "app_theme";
|
public static final String APP_THEME = "app_theme";
|
||||||
public static final String APP_LANGUAGE = "app_language";
|
public static final String APP_LANGUAGE = "app_language";
|
||||||
public static final String PREV_INSTALL_VERSION = "prevVersion";
|
public static final String PREV_INSTALL_VERSION = "prevVersion";
|
||||||
public static final String DB_TO_MIGRATE = "dbToMigrate";
|
|
||||||
public static final String PROFILE_FETCH_MODE = "profile_fetch_mode";
|
public static final String PROFILE_FETCH_MODE = "profile_fetch_mode";
|
||||||
// boolean prefs
|
// boolean prefs
|
||||||
public static final String DOWNLOAD_USER_FOLDER = "download_user_folder";
|
public static final String DOWNLOAD_USER_FOLDER = "download_user_folder";
|
||||||
|
@ -6,6 +6,7 @@ import android.database.Cursor;
|
|||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.database.sqlite.SQLiteOpenHelper;
|
import android.database.sqlite.SQLiteOpenHelper;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@ -16,7 +17,6 @@ import awais.instagrabber.BuildConfig;
|
|||||||
import awaisomereport.LogCollector;
|
import awaisomereport.LogCollector;
|
||||||
|
|
||||||
import static awais.instagrabber.utils.Utils.logCollector;
|
import static awais.instagrabber.utils.Utils.logCollector;
|
||||||
import static awais.instagrabber.utils.Utils.settingsHelper;
|
|
||||||
|
|
||||||
public final class DataBox extends SQLiteOpenHelper {
|
public final class DataBox extends SQLiteOpenHelper {
|
||||||
private static DataBox sInstance;
|
private static DataBox sInstance;
|
||||||
@ -29,6 +29,7 @@ public final class DataBox extends SQLiteOpenHelper {
|
|||||||
private final static String KEY_USERNAME = Constants.EXTRAS_USERNAME;
|
private final static String KEY_USERNAME = Constants.EXTRAS_USERNAME;
|
||||||
private final static String KEY_COOKIE = "cookie";
|
private final static String KEY_COOKIE = "cookie";
|
||||||
private final static String KEY_UID = "uid";
|
private final static String KEY_UID = "uid";
|
||||||
|
private Context c;
|
||||||
|
|
||||||
public static synchronized DataBox getInstance(final Context context) {
|
public static synchronized DataBox getInstance(final Context context) {
|
||||||
if (sInstance == null) sInstance = new DataBox(context.getApplicationContext());
|
if (sInstance == null) sInstance = new DataBox(context.getApplicationContext());
|
||||||
@ -37,11 +38,11 @@ public final class DataBox extends SQLiteOpenHelper {
|
|||||||
|
|
||||||
public DataBox(@Nullable final Context context) {
|
public DataBox(@Nullable final Context context) {
|
||||||
super(context, "cookiebox.db", null, VERSION);
|
super(context, "cookiebox.db", null, VERSION);
|
||||||
|
c = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(@NonNull final SQLiteDatabase db) {
|
public void onCreate(@NonNull final SQLiteDatabase db) {
|
||||||
settingsHelper.putBoolean(Constants.DB_TO_MIGRATE, false);
|
|
||||||
db.execSQL("CREATE TABLE cookies (id INTEGER PRIMARY KEY, uid TEXT, username TEXT, cookie TEXT)");
|
db.execSQL("CREATE TABLE cookies (id INTEGER PRIMARY KEY, uid TEXT, username TEXT, cookie TEXT)");
|
||||||
db.execSQL("CREATE TABLE favorites (id INTEGER PRIMARY KEY, query_text TEXT, date_added INTEGER, query_display TEXT)");
|
db.execSQL("CREATE TABLE favorites (id INTEGER PRIMARY KEY, query_text TEXT, date_added INTEGER, query_display TEXT)");
|
||||||
}
|
}
|
||||||
@ -81,17 +82,19 @@ public final class DataBox extends SQLiteOpenHelper {
|
|||||||
|
|
||||||
public final synchronized void delFavorite(@NonNull final FavoriteModel favoriteModel) {
|
public final synchronized void delFavorite(@NonNull final FavoriteModel favoriteModel) {
|
||||||
final String query = favoriteModel.getQuery();
|
final String query = favoriteModel.getQuery();
|
||||||
final String display = favoriteModel.getDisplayName();
|
|
||||||
if (!Utils.isEmpty(query)) {
|
if (!Utils.isEmpty(query)) {
|
||||||
try (final SQLiteDatabase db = getWritableDatabase()) {
|
try (final SQLiteDatabase db = getWritableDatabase()) {
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
try {
|
try {
|
||||||
final int rowsDeleted = db.delete(TABLE_FAVORITES, KEY_QUERY_TEXT + "=? AND "
|
final int rowsDeleted = db.delete(TABLE_FAVORITES, KEY_QUERY_TEXT + "=? AND "
|
||||||
+ KEY_DATE_ADDED + "=? AND "
|
+ KEY_DATE_ADDED + "=?",
|
||||||
+ KEY_QUERY_DISPLAY + "=?",
|
new String[]{query, Long.toString(favoriteModel.getDate())});
|
||||||
new String[]{query, Long.toString(favoriteModel.getDate()), display});
|
|
||||||
|
|
||||||
if (rowsDeleted > 0) db.setTransactionSuccessful();
|
final int rowsDeletedTwo = db.delete(TABLE_FAVORITES, KEY_QUERY_TEXT + "=? AND "
|
||||||
|
+ KEY_DATE_ADDED + "=?",
|
||||||
|
new String[]{query.replaceAll("@", ""), Long.toString(favoriteModel.getDate())});
|
||||||
|
|
||||||
|
if (rowsDeleted > 0 || rowsDeletedTwo > 0) db.setTransactionSuccessful();
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
if (logCollector != null)
|
if (logCollector != null)
|
||||||
logCollector.appendException(e, LogCollector.LogFile.DATA_BOX_FAVORITES, "delFavorite");
|
logCollector.appendException(e, LogCollector.LogFile.DATA_BOX_FAVORITES, "delFavorite");
|
||||||
@ -107,33 +110,21 @@ public final class DataBox extends SQLiteOpenHelper {
|
|||||||
public final ArrayList<FavoriteModel> getAllFavorites() {
|
public final ArrayList<FavoriteModel> getAllFavorites() {
|
||||||
ArrayList<FavoriteModel> favorites = null;
|
ArrayList<FavoriteModel> favorites = null;
|
||||||
FavoriteModel tempFav;
|
FavoriteModel tempFav;
|
||||||
|
final SQLiteDatabase db = getWritableDatabase();
|
||||||
|
|
||||||
if (Utils.settingsHelper.getBoolean(Constants.DB_TO_MIGRATE) == true) {
|
try (final Cursor cursor = db.rawQuery("SELECT query_text, date_added, query_display FROM favorites ORDER BY date_added DESC", null)) {
|
||||||
try (final SQLiteDatabase db = getWritableDatabase()) {
|
|
||||||
try {
|
|
||||||
db.beginTransaction();
|
|
||||||
db.execSQL("ALTER TABLE favorites ADD query_display TEXT");
|
|
||||||
} catch (final Exception e) {
|
|
||||||
if (logCollector != null)
|
|
||||||
logCollector.appendException(e, LogCollector.LogFile.DATA_BOX_FAVORITES, "migrate");
|
|
||||||
if (BuildConfig.DEBUG) Log.e("AWAISKING_APP", "", e);
|
|
||||||
} finally {
|
|
||||||
db.endTransaction();
|
|
||||||
settingsHelper.putBoolean(Constants.DB_TO_MIGRATE, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try (final SQLiteDatabase db = getWritableDatabase();
|
|
||||||
final Cursor cursor = db.rawQuery("SELECT query_text, date_added, query_display FROM favorites ORDER BY date_added DESC", null)) {
|
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
favorites = new ArrayList<>();
|
favorites = new ArrayList<>();
|
||||||
do {
|
do {
|
||||||
tempFav = new FavoriteModel(
|
tempFav = new FavoriteModel(
|
||||||
cursor.getString(0), // query text
|
(cursor.getString(0).charAt(0) == '@' || cursor.getString(0).contains("/"))
|
||||||
|
? cursor.getString(0)
|
||||||
|
: "@" + cursor.getString(0), // query text
|
||||||
cursor.getLong(1), // date added
|
cursor.getLong(1), // date added
|
||||||
cursor.getString(2) == null ? cursor.getString(0) : cursor.getString(2) // display
|
cursor.getString(2) == null ? (cursor.getString(0).charAt(0) == '@' || cursor.getString(0).contains("/"))
|
||||||
|
? cursor.getString(0)
|
||||||
|
: "@" + cursor.getString(0) : cursor.getString(2) // display
|
||||||
);
|
);
|
||||||
if (cursor.getString(2) == null) {
|
if (cursor.getString(2) == null) {
|
||||||
try {
|
try {
|
||||||
@ -156,6 +147,17 @@ public final class DataBox extends SQLiteOpenHelper {
|
|||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
}
|
}
|
||||||
|
} catch (final Exception x) {
|
||||||
|
Log.e("austin_debug", "", x);
|
||||||
|
try {
|
||||||
|
db.execSQL("ALTER TABLE favorites ADD query_display TEXT");
|
||||||
|
Toast.makeText(c, "DB has migrated, launch quick access again.", Toast.LENGTH_SHORT).show();
|
||||||
|
} catch (final Exception e) {
|
||||||
|
if (logCollector != null)
|
||||||
|
logCollector.appendException(e, LogCollector.LogFile.DATA_BOX_FAVORITES, "migrate");
|
||||||
|
Toast.makeText(c, "DB migration failed, contact maintainer.", Toast.LENGTH_SHORT).show();
|
||||||
|
if (BuildConfig.DEBUG) Log.e("AWAISKING_APP", "", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return favorites;
|
return favorites;
|
||||||
|
@ -55,8 +55,6 @@ public final class FlavorTown {
|
|||||||
|
|
||||||
public static void changelogCheck(@NonNull final Context context) {
|
public static void changelogCheck(@NonNull final Context context) {
|
||||||
if (settingsHelper.getInteger(Constants.PREV_INSTALL_VERSION) < BuildConfig.VERSION_CODE) {
|
if (settingsHelper.getInteger(Constants.PREV_INSTALL_VERSION) < BuildConfig.VERSION_CODE) {
|
||||||
if (settingsHelper.getInteger(Constants.PREV_INSTALL_VERSION) < 36)
|
|
||||||
settingsHelper.putBoolean(Constants.DB_TO_MIGRATE, true);
|
|
||||||
Toast.makeText(context, R.string.updated, Toast.LENGTH_SHORT).show();
|
Toast.makeText(context, R.string.updated, Toast.LENGTH_SHORT).show();
|
||||||
settingsHelper.putInteger(Constants.PREV_INSTALL_VERSION, BuildConfig.VERSION_CODE);
|
settingsHelper.putInteger(Constants.PREV_INSTALL_VERSION, BuildConfig.VERSION_CODE);
|
||||||
}
|
}
|
||||||
|
@ -979,7 +979,7 @@ public final class Utils {
|
|||||||
final String displayUrl = model.getDisplayUrl();
|
final String displayUrl = model.getDisplayUrl();
|
||||||
final int index = displayUrl.indexOf('?');
|
final int index = displayUrl.indexOf('?');
|
||||||
|
|
||||||
final String fileName = model.getPostId() + '_' + model.getTimestamp();
|
final String fileName = model.getPostId() + '_' + model.getPosition();
|
||||||
final String extension = displayUrl.substring(index - 4, index);
|
final String extension = displayUrl.substring(index - 4, index);
|
||||||
|
|
||||||
final String fileWithoutPrefix = fileName + extension;
|
final String fileWithoutPrefix = fileName + extension;
|
||||||
|
Loading…
Reference in New Issue
Block a user