diff --git a/app/src/main/java/awais/instagrabber/MainHelper.java b/app/src/main/java/awais/instagrabber/MainHelper.java index 6a4468e5..11c41786 100755 --- a/app/src/main/java/awais/instagrabber/MainHelper.java +++ b/app/src/main/java/awais/instagrabber/MainHelper.java @@ -345,7 +345,8 @@ public final class MainHelper implements SwipeRefreshLayout.OnRefreshListener { ImageViewCompat.setImageTintList(iconFeed, colorStateList.withAlpha(otherIconAlpha)); } else { // this changes toolbar title - main.mainBinding.toolbar.toolbar.setTitle(slideOffset >= 0.466 ? titleDiscover : main.userQuery); + main.mainBinding.toolbar.toolbar.setTitle(slideOffset >= 0.466 ? titleDiscover : + (main.userQuery == null ? resources.getString(R.string.app_name) : main.userQuery)); imageTintList = ImageViewCompat.getImageTintList(iconFeed); alpha = imageTintList != null ? (imageTintList.getDefaultColor() & 0xFF_000000) >> 24 : 0; diff --git a/app/src/main/java/awais/instagrabber/activities/BaseLanguageActivity.java b/app/src/main/java/awais/instagrabber/activities/BaseLanguageActivity.java index 20f6289e..81dc4bf8 100755 --- a/app/src/main/java/awais/instagrabber/activities/BaseLanguageActivity.java +++ b/app/src/main/java/awais/instagrabber/activities/BaseLanguageActivity.java @@ -15,7 +15,7 @@ public abstract class BaseLanguageActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); Utils.changeTheme(this); + super.onCreate(savedInstanceState); } } diff --git a/app/src/main/java/awais/instagrabber/activities/ProfileViewer.java b/app/src/main/java/awais/instagrabber/activities/ProfileViewer.java index ecb31040..587f6427 100755 --- a/app/src/main/java/awais/instagrabber/activities/ProfileViewer.java +++ b/app/src/main/java/awais/instagrabber/activities/ProfileViewer.java @@ -92,7 +92,7 @@ public final class ProfileViewer extends BaseLanguageActivity implements SwipeRe private HashtagModel hashtagModel; private LocationModel locationModel; private StoryModel[] storyModels; - private MenuItem downloadAction; + private MenuItem downloadAction, favouriteAction; private final FetchListener postsFetchListener = new FetchListener() { @Override public void onResult(final PostModel[] result) { @@ -755,12 +755,32 @@ public final class ProfileViewer extends BaseLanguageActivity implements SwipeRe downloadAction = menu.findItem(R.id.downloadAction); downloadAction.setVisible(false); + favouriteAction = menu.findItem(R.id.favouriteAction); + favouriteAction.setVisible(!Utils.isEmpty(cookie)); + favouriteAction.setIcon(Utils.dataBox.getFavorite(userQuery) == null ? R.drawable.ic_not_liked : R.drawable.ic_like); + downloadAction.setOnMenuItemClickListener(item -> { if (selectedItems.size() > 0) { Utils.batchDownload(this, userQuery, DownloadMethod.DOWNLOAD_MAIN, selectedItems); } return true; }); + + favouriteAction.setOnMenuItemClickListener(item -> { + if (Utils.dataBox.getFavorite(userQuery) == null) { + Utils.dataBox.addFavorite(new DataBox.FavoriteModel(userQuery, System.currentTimeMillis(), + locationModel != null ? locationModel.getName() : userQuery.replaceAll("^@", ""))); + favouriteAction.setIcon(R.drawable.ic_like); + } + else { + Utils.dataBox.delFavorite(new DataBox.FavoriteModel(userQuery, + Long.parseLong(Utils.dataBox.getFavorite(userQuery).split("/")[1]), + locationModel != null ? locationModel.getName() : userQuery.replaceAll("^@", ""))); + favouriteAction.setIcon(R.drawable.ic_not_liked); + } + return true; + }); + return true; } diff --git a/app/src/main/java/awais/instagrabber/activities/SavedViewer.java b/app/src/main/java/awais/instagrabber/activities/SavedViewer.java index a873f1ff..0ec94cd2 100755 --- a/app/src/main/java/awais/instagrabber/activities/SavedViewer.java +++ b/app/src/main/java/awais/instagrabber/activities/SavedViewer.java @@ -172,6 +172,8 @@ public final class SavedViewer extends BaseLanguageActivity implements SwipeRefr downloadAction = menu.findItem(R.id.downloadAction); downloadAction.setVisible(false); + menu.findItem(R.id.favouriteAction).setVisible(false); + downloadAction.setOnMenuItemClickListener(item -> { if (selectedItems.size() > 0) { Utils.batchDownload(this, null, DownloadMethod.DOWNLOAD_SAVED, selectedItems); diff --git a/app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageStoryShareViewHolder.java b/app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageStoryShareViewHolder.java index 3ab53253..155cd86f 100644 --- a/app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageStoryShareViewHolder.java +++ b/app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageStoryShareViewHolder.java @@ -38,11 +38,12 @@ public class DirectMessageStoryShareViewHolder extends DirectMessageItemViewHold binding.tvMessage.setText(text); binding.tvMessage.setVisibility(View.VISIBLE); } - final DirectItemModel.DirectItemMediaModel reelShareMedia = reelShare.getMedia(); - final MediaItemType mediaType = reelShareMedia.getMediaType(); - binding.typeIcon.setVisibility(mediaType == MediaItemType.MEDIA_TYPE_VIDEO || - mediaType == MediaItemType.MEDIA_TYPE_SLIDER ? View.VISIBLE : View.GONE); - getGlideRequestManager().load(reelShareMedia.getThumbUrl()).into(binding.ivMediaPreview); + else { + final DirectItemModel.DirectItemMediaModel reelShareMedia = reelShare.getMedia(); + final MediaItemType mediaType = reelShareMedia.getMediaType(); + binding.typeIcon.setVisibility(mediaType == MediaItemType.MEDIA_TYPE_VIDEO ? View.VISIBLE : View.GONE); + getGlideRequestManager().load(reelShareMedia.getThumbUrl()).into(binding.ivMediaPreview); + } } } } diff --git a/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java b/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java index 936ca7f2..fe53e374 100644 --- a/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java @@ -299,9 +299,7 @@ public class DirectMessageThreadFragment extends Fragment { dialogAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_list_item_1, dialogList); new AlertDialog.Builder(requireContext()) - //.setTitle(title) .setAdapter(dialogAdapter, onDialogListener) - // .setNeutralButton(R.string.cancel, null) .show(); } }; diff --git a/app/src/main/java/awais/instagrabber/utils/Utils.java b/app/src/main/java/awais/instagrabber/utils/Utils.java index 738531f4..6fef640f 100755 --- a/app/src/main/java/awais/instagrabber/utils/Utils.java +++ b/app/src/main/java/awais/instagrabber/utils/Utils.java @@ -690,7 +690,7 @@ public final class Utils { JSONObject boldItem = bold.getJSONObject(q); desc = desc.substring(0, boldItem.getInt("start") + q*7) + "" + desc.substring(boldItem.getInt("start") + q*7, boldItem.getInt("end") + q*7) - + "" + desc.substring(boldItem.getInt("end") + q*7, desc.length()); + + "" + desc.substring(boldItem.getInt("end") + q*7); } actionLogModel = new DirectItemActionLogModel(desc); break; @@ -810,6 +810,7 @@ public final class Utils { if (settingsHelper != null) { isAmoledEnabled = settingsHelper.getBoolean(Constants.AMOLED_THEME); } + AppCompatDelegate.setDefaultNightMode(themeCode); // use amoled theme only if enabled in settings if (isAmoledEnabled) { // check if setting is set to 'Dark' @@ -827,7 +828,6 @@ public final class Utils { return; } } - AppCompatDelegate.setDefaultNightMode(themeCode); } public static void setTooltipText(final View view, @StringRes final int tooltipTextRes) { diff --git a/app/src/main/res/drawable-anydpi/ic_like.xml b/app/src/main/res/drawable-anydpi/ic_like.xml index f68e110e..52d4d9bb 100644 --- a/app/src/main/res/drawable-anydpi/ic_like.xml +++ b/app/src/main/res/drawable-anydpi/ic_like.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="#333333"> + android:tint="?attr/colorControlNormal"> diff --git a/app/src/main/res/drawable-anydpi/ic_not_liked.xml b/app/src/main/res/drawable-anydpi/ic_not_liked.xml new file mode 100644 index 00000000..3edfe1d8 --- /dev/null +++ b/app/src/main/res/drawable-anydpi/ic_not_liked.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable-hdpi/ic_not_liked.png b/app/src/main/res/drawable-hdpi/ic_not_liked.png new file mode 100644 index 00000000..9b69873a Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_not_liked.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_not_liked.png b/app/src/main/res/drawable-mdpi/ic_not_liked.png new file mode 100644 index 00000000..9ce1c759 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_not_liked.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_not_liked.png b/app/src/main/res/drawable-xhdpi/ic_not_liked.png new file mode 100644 index 00000000..c7af44c5 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_not_liked.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_not_liked.png b/app/src/main/res/drawable-xxhdpi/ic_not_liked.png new file mode 100644 index 00000000..16ee4db9 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_not_liked.png differ diff --git a/app/src/main/res/layout/layout_dm_story_share.xml b/app/src/main/res/layout/layout_dm_story_share.xml index 44773a58..0ccb656a 100644 --- a/app/src/main/res/layout/layout_dm_story_share.xml +++ b/app/src/main/res/layout/layout_dm_story_share.xml @@ -22,6 +22,7 @@ android:layout_height="24dp" android:layout_gravity="end|top" android:layout_margin="8dp" + android:visibility="gone" app:srcCompat="@drawable/video" /> diff --git a/app/src/main/res/menu/saved.xml b/app/src/main/res/menu/saved.xml index 1af65823..afcdaa5b 100755 --- a/app/src/main/res/menu/saved.xml +++ b/app/src/main/res/menu/saved.xml @@ -6,4 +6,9 @@ android:id="@+id/downloadAction" android:icon="@drawable/ic_download" app:showAsAction="always|collapseActionView" /> + + \ No newline at end of file diff --git a/fastlane/metadata/android/changelogs/32.txt b/fastlane/metadata/android/en-US/changelogs/32.txt similarity index 100% rename from fastlane/metadata/android/changelogs/32.txt rename to fastlane/metadata/android/en-US/changelogs/32.txt diff --git a/fastlane/metadata/android/changelogs/33.txt b/fastlane/metadata/android/en-US/changelogs/33.txt similarity index 100% rename from fastlane/metadata/android/changelogs/33.txt rename to fastlane/metadata/android/en-US/changelogs/33.txt diff --git a/fastlane/metadata/android/changelogs/36.txt b/fastlane/metadata/android/en-US/changelogs/36.txt similarity index 100% rename from fastlane/metadata/android/changelogs/36.txt rename to fastlane/metadata/android/en-US/changelogs/36.txt diff --git a/fastlane/metadata/android/changelogs/37.txt b/fastlane/metadata/android/en-US/changelogs/37.txt similarity index 100% rename from fastlane/metadata/android/changelogs/37.txt rename to fastlane/metadata/android/en-US/changelogs/37.txt diff --git a/fastlane/metadata/android/changelogs/38.txt b/fastlane/metadata/android/en-US/changelogs/38.txt similarity index 100% rename from fastlane/metadata/android/changelogs/38.txt rename to fastlane/metadata/android/en-US/changelogs/38.txt diff --git a/fastlane/metadata/android/changelogs/39.txt b/fastlane/metadata/android/en-US/changelogs/39.txt similarity index 100% rename from fastlane/metadata/android/changelogs/39.txt rename to fastlane/metadata/android/en-US/changelogs/39.txt diff --git a/fastlane/metadata/android/changelogs/40.txt b/fastlane/metadata/android/en-US/changelogs/40.txt similarity index 100% rename from fastlane/metadata/android/changelogs/40.txt rename to fastlane/metadata/android/en-US/changelogs/40.txt diff --git a/fastlane/metadata/android/changelogs/41.txt b/fastlane/metadata/android/en-US/changelogs/41.txt similarity index 100% rename from fastlane/metadata/android/changelogs/41.txt rename to fastlane/metadata/android/en-US/changelogs/41.txt diff --git a/fastlane/metadata/android/changelogs/42.txt b/fastlane/metadata/android/en-US/changelogs/42.txt similarity index 100% rename from fastlane/metadata/android/changelogs/42.txt rename to fastlane/metadata/android/en-US/changelogs/42.txt diff --git a/fastlane/metadata/android/changelogs/43.txt b/fastlane/metadata/android/en-US/changelogs/43.txt similarity index 100% rename from fastlane/metadata/android/changelogs/43.txt rename to fastlane/metadata/android/en-US/changelogs/43.txt diff --git a/fastlane/metadata/android/changelogs/44.txt b/fastlane/metadata/android/en-US/changelogs/44.txt similarity index 100% rename from fastlane/metadata/android/changelogs/44.txt rename to fastlane/metadata/android/en-US/changelogs/44.txt diff --git a/fastlane/metadata/android/changelogs/45.txt b/fastlane/metadata/android/en-US/changelogs/45.txt similarity index 100% rename from fastlane/metadata/android/changelogs/45.txt rename to fastlane/metadata/android/en-US/changelogs/45.txt diff --git a/fastlane/metadata/android/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt similarity index 100% rename from fastlane/metadata/android/full_description.txt rename to fastlane/metadata/android/en-US/full_description.txt diff --git a/fastlane/metadata/android/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png similarity index 100% rename from fastlane/metadata/android/images/icon.png rename to fastlane/metadata/android/en-US/images/icon.png diff --git a/fastlane/metadata/android/images/phoneScreenshots/1.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/1.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg diff --git a/fastlane/metadata/android/images/phoneScreenshots/2.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/2.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg diff --git a/fastlane/metadata/android/images/phoneScreenshots/3.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/3.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg diff --git a/fastlane/metadata/android/images/phoneScreenshots/4.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/4.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg diff --git a/fastlane/metadata/android/images/phoneScreenshots/5.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/5.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg diff --git a/fastlane/metadata/android/images/phoneScreenshots/6.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg similarity index 100% rename from fastlane/metadata/android/images/phoneScreenshots/6.jpg rename to fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg diff --git a/fastlane/metadata/android/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt similarity index 100% rename from fastlane/metadata/android/short_description.txt rename to fastlane/metadata/android/en-US/short_description.txt diff --git a/fastlane/metadata/android/title.txt b/fastlane/metadata/android/title.txt deleted file mode 100755 index 3241098f..00000000 --- a/fastlane/metadata/android/title.txt +++ /dev/null @@ -1 +0,0 @@ -InstaGrabber Revived \ No newline at end of file