Compare commits
5 Commits
6542859892
...
5cdda037b2
Author | SHA1 | Date | |
---|---|---|---|
|
5cdda037b2 | ||
|
0942f7c5ec | ||
|
efe90d0030 | ||
|
2d45f337d7 | ||
|
70cf6f3340 |
@ -8,7 +8,7 @@ steps:
|
|||||||
sign:
|
sign:
|
||||||
image: alvrme/alpine-android:android-33-jdk11
|
image: alvrme/alpine-android:android-33-jdk11
|
||||||
commands:
|
commands:
|
||||||
- ./scripts/apk-sign.sh LemmInfinity-signed.apk app/build/outputs/apk/release/app-release-unsigned.apk
|
- ./scripts/apk-sign.sh Eternity-signed.apk app/build/outputs/apk/release/app-release-unsigned.apk
|
||||||
secrets: [ APK_KS_PASS, APK_KS, APK_KS_ALIAS ]
|
secrets: [ APK_KS_PASS, APK_KS, APK_KS_ALIAS ]
|
||||||
when:
|
when:
|
||||||
event: [ tag ]
|
event: [ tag ]
|
||||||
@ -17,7 +17,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
base_url: https://codeberg.org
|
base_url: https://codeberg.org
|
||||||
files:
|
files:
|
||||||
- LemmInfinity-signed.apk
|
- Eternity-signed.apk
|
||||||
api_key:
|
api_key:
|
||||||
from_secret: GITEA_ACCESS_TOKEN
|
from_secret: GITEA_ACCESS_TOKEN
|
||||||
target: main
|
target: main
|
||||||
|
@ -21,8 +21,8 @@ android {
|
|||||||
applicationId "eu.toldi.infinityforlemmy"
|
applicationId "eu.toldi.infinityforlemmy"
|
||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 129
|
versionCode 130
|
||||||
versionName "0.1.0"
|
versionName "0.1.1"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
javaCompileOptions {
|
javaCompileOptions {
|
||||||
annotationProcessorOptions {
|
annotationProcessorOptions {
|
||||||
|
@ -118,25 +118,20 @@ public class InsertSubscribedThings {
|
|||||||
(List<SubscribedSubredditData> newSubscribedSubreddits,
|
(List<SubscribedSubredditData> newSubscribedSubreddits,
|
||||||
List<SubscribedSubredditData> oldSubscribedSubreddits,
|
List<SubscribedSubredditData> oldSubscribedSubreddits,
|
||||||
List<String> unsubscribedSubredditNames) {
|
List<String> unsubscribedSubredditNames) {
|
||||||
int newIndex = 0;
|
List<String> oldSubredditNames = new ArrayList<>();
|
||||||
for (int oldIndex = 0; oldIndex < oldSubscribedSubreddits.size(); oldIndex++) {
|
for (SubscribedSubredditData subredditData : oldSubscribedSubreddits) {
|
||||||
if (newIndex >= newSubscribedSubreddits.size()) {
|
oldSubredditNames.add(subredditData.getQualified_name());
|
||||||
for (; oldIndex < oldSubscribedSubreddits.size(); oldIndex++) {
|
}
|
||||||
unsubscribedSubredditNames.add(oldSubscribedSubreddits.get(oldIndex).getQualified_name());
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
SubscribedSubredditData old = oldSubscribedSubreddits.get(oldIndex);
|
List<String> newSubredditNames = new ArrayList<>();
|
||||||
for (; newIndex < newSubscribedSubreddits.size(); newIndex++) {
|
for (SubscribedSubredditData subredditData : newSubscribedSubreddits) {
|
||||||
if (newSubscribedSubreddits.get(newIndex).getQualified_name().compareToIgnoreCase(old.getQualified_name()) == 0) {
|
newSubredditNames.add(subredditData.getQualified_name());
|
||||||
newIndex++;
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (newSubscribedSubreddits.get(newIndex).getQualified_name().compareToIgnoreCase(old.getQualified_name()) > 0) {
|
for (String subredditName : oldSubredditNames) {
|
||||||
unsubscribedSubredditNames.add(old.getQualified_name());
|
if (!newSubredditNames.contains(subredditName)) {
|
||||||
break;
|
unsubscribedSubredditNames.add(subredditName);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,7 @@ public class DownloadMediaService extends Service {
|
|||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
||||||
File directory = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
File directory = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
||||||
if (directory != null) {
|
if (directory != null) {
|
||||||
String directoryPath = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? directory.getAbsolutePath() + "/Infinity/" + subredditName + "/" : directory.getAbsolutePath() + "/Infinity/";
|
String directoryPath = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? directory.getAbsolutePath() + "/Eternity/" + subredditName + "/" : directory.getAbsolutePath() + "/Eternity/";
|
||||||
File infinityDir = new File(directoryPath);
|
File infinityDir = new File(directoryPath);
|
||||||
if (!infinityDir.exists() && !infinityDir.mkdirs()) {
|
if (!infinityDir.exists() && !infinityDir.mkdirs()) {
|
||||||
downloadFinished(mediaType, randomNotificationIdOffset, mimeType,
|
downloadFinished(mediaType, randomNotificationIdOffset, mimeType,
|
||||||
@ -168,7 +168,7 @@ public class DownloadMediaService extends Service {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String dir = mediaType == EXTRA_MEDIA_TYPE_VIDEO ? Environment.DIRECTORY_MOVIES : Environment.DIRECTORY_PICTURES;
|
String dir = mediaType == EXTRA_MEDIA_TYPE_VIDEO ? Environment.DIRECTORY_MOVIES : Environment.DIRECTORY_PICTURES;
|
||||||
destinationFileUriString = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? dir + "/Infinity/" + subredditName + "/" : dir + "/Infinity/";
|
destinationFileUriString = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? dir + "/Eternity/" + subredditName + "/" : dir + "/Eternity/";
|
||||||
}
|
}
|
||||||
isDefaultDestination = true;
|
isDefaultDestination = true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -31,7 +31,7 @@ public interface SubscribedSubredditDao {
|
|||||||
@Query("SELECT * from subscribed_subreddits WHERE qualified_name = :qualified_name COLLATE NOCASE AND username = :accountName COLLATE NOCASE LIMIT 1")
|
@Query("SELECT * from subscribed_subreddits WHERE qualified_name = :qualified_name COLLATE NOCASE AND username = :accountName COLLATE NOCASE LIMIT 1")
|
||||||
SubscribedSubredditData getSubscribedSubredditByQualifiedName(String qualified_name, String accountName);
|
SubscribedSubredditData getSubscribedSubredditByQualifiedName(String qualified_name, String accountName);
|
||||||
|
|
||||||
@Query("DELETE FROM subscribed_subreddits WHERE name = :subredditName COLLATE NOCASE AND username = :accountName COLLATE NOCASE")
|
@Query("DELETE FROM subscribed_subreddits WHERE qualified_name = :subredditName COLLATE NOCASE AND username = :accountName COLLATE NOCASE")
|
||||||
void deleteSubscribedSubreddit(String subredditName, String accountName);
|
void deleteSubscribedSubreddit(String subredditName, String accountName);
|
||||||
|
|
||||||
@Query("SELECT * from subscribed_subreddits WHERE username = :qualified_name AND name LIKE '%' || :searchQuery || '%' COLLATE NOCASE AND is_favorite = 1 ORDER BY name COLLATE NOCASE ASC")
|
@Query("SELECT * from subscribed_subreddits WHERE username = :qualified_name AND name LIKE '%' || :searchQuery || '%' COLLATE NOCASE AND is_favorite = 1 ORDER BY name COLLATE NOCASE ASC")
|
||||||
|
@ -129,13 +129,13 @@ public class SubscribedSubredditData implements Parcelable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return id;
|
return id + username.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(@Nullable Object obj) {
|
public boolean equals(@Nullable Object obj) {
|
||||||
if (obj instanceof SubscribedSubredditData) {
|
if (obj instanceof SubscribedSubredditData) {
|
||||||
return id == ((SubscribedSubredditData) obj).getId();
|
return id == ((SubscribedSubredditData) obj).getId() && username.equalsIgnoreCase(((SubscribedSubredditData) obj).getUsername());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 402 KiB After Width: | Height: | Size: 1.8 MiB |
BIN
fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
Normal file
After Width: | Height: | Size: 865 KiB |
BIN
fastlane/metadata/android/en-US/images/phoneScreenshots/5.png
Normal file
After Width: | Height: | Size: 1.8 MiB |