Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1665,6 +1665,9 @@ public void displaySortType() {

@Override
public void markPostAsRead(Post post) {
if (post.isRead()) {
return;
}
int readPostsLimit = ReadPostsUtils.GetReadPostsLimit(accountName, mPostHistorySharedPreferences);
InsertReadPost.insertReadPost(mRedditDataRoomDatabase, mExecutor, accountName, post.getId(), readPostsLimit);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package ml.docilealligator.infinityforreddit.adapters;

import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
Expand Down Expand Up @@ -303,7 +304,10 @@ public PostRecyclerViewAdapter(BaseActivity activity, PostFragmentBase fragment,
mShowAbsoluteNumberOfVotes = sharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_ABSOLUTE_NUMBER_OF_VOTES, true);
String autoplayString = sharedPreferences.getString(SharedPreferencesUtils.VIDEO_AUTOPLAY, SharedPreferencesUtils.VIDEO_AUTOPLAY_VALUE_NEVER);
int networkType = Utils.getConnectedNetwork(activity);
if (autoplayString.equals(SharedPreferencesUtils.VIDEO_AUTOPLAY_VALUE_ALWAYS_ON)) {
boolean overrideVideoAutoplay = sharedPreferences.getBoolean(SharedPreferencesUtils.OVERRIDE_VIDEO_AUTOPLAY_IN_DATA_SAVING_MODE, false);
if (overrideVideoAutoplay) {
mAutoplay = true;
} else if (autoplayString.equals(SharedPreferencesUtils.VIDEO_AUTOPLAY_VALUE_ALWAYS_ON)) {
mAutoplay = true;
} else if (autoplayString.equals(SharedPreferencesUtils.VIDEO_AUTOPLAY_VALUE_ON_WIFI)) {
mAutoplay = networkType == Utils.NETWORK_TYPE_WIFI;
Expand Down Expand Up @@ -573,7 +577,7 @@ public int getItemViewType(int position) {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == VIEW_TYPE_POST_CARD_VIDEO_AUTOPLAY_TYPE) {
if (mDataSavingMode) {
if (mDataSavingMode && !mSharedPreferences.getBoolean(SharedPreferencesUtils.OVERRIDE_VIDEO_AUTOPLAY_IN_DATA_SAVING_MODE, false)) {
return new PostWithPreviewTypeViewHolder(ItemPostWithPreviewBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}

Expand Down Expand Up @@ -605,7 +609,7 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
} else if (viewType == VIEW_TYPE_POST_GALLERY_GALLERY_TYPE) {
return new PostGalleryGalleryTypeViewHolder(ItemPostGalleryGalleryTypeBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
} else if (viewType == VIEW_TYPE_POST_CARD_2_VIDEO_AUTOPLAY_TYPE) {
if (mDataSavingMode) {
if (mDataSavingMode && !mSharedPreferences.getBoolean(SharedPreferencesUtils.OVERRIDE_VIDEO_AUTOPLAY_IN_DATA_SAVING_MODE, false)) {
return new PostCard2WithPreviewViewHolder(ItemPostCard2WithPreviewBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}

Expand All @@ -621,7 +625,7 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
} else if (viewType == VIEW_TYPE_POST_CARD_2_TEXT_TYPE) {
return new PostCard2TextTypeViewHolder(ItemPostCard2TextBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
} else if (viewType == VIEW_TYPE_POST_CARD_3_VIDEO_AUTOPLAY_TYPE) {
if (mDataSavingMode) {
if (mDataSavingMode && !mSharedPreferences.getBoolean(SharedPreferencesUtils.OVERRIDE_VIDEO_AUTOPLAY_IN_DATA_SAVING_MODE, false)) {
return new PostMaterial3CardWithPreviewViewHolder(ItemPostCard3WithPreviewBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}
if (mLegacyAutoplayVideoControllerUI) {
Expand All @@ -641,7 +645,7 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int

@OptIn(markerClass = UnstableApi.class)
@Override
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) {
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, @SuppressLint("RecyclerView") int position) {
if (holder instanceof PostViewHolder) {
Post post = getItem(position);
if (post == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@
import java.util.HashMap;
import java.util.Map;

import ml.docilealligator.infinityforreddit.BuildConfig;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
//import ml.docilealligator.infinityforreddit.BuildConfig;
import ml.docilealligator.infinityforreddit.account.Account;
import okhttp3.MediaType;
import okhttp3.RequestBody;
Expand All @@ -15,30 +21,46 @@
*/

public class APIUtils {

static {
sRedditClientId = "NOe2iKrPPzwscA";
sUserAgent = "android:ml.docilealligator.infinityforreddit:" + " (by /u/Hostilenemy)";
sGiphyApiKey = "";
gemini = "123";
}

public static void init(Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
sRedditClientId = preferences.getString("reddit_api_key", sRedditClientId);
sUserAgent = preferences.getString("user_agent", sUserAgent);
sGiphyApiKey = preferences.getString("giphy_api_key", sGiphyApiKey);
gemini = preferences.getString("gemini_key", gemini);
}

public static String gemini="";
public static final String OAUTH_URL = "https://www.reddit.com/api/v1/authorize.compact";
public static final String OAUTH_API_BASE_URI = "https://oauth.reddit.com";
public static final String API_BASE_URI = "https://www.reddit.com";
public static final String API_UPLOAD_MEDIA_URI = "https://reddit-uploaded-media.s3-accelerate.amazonaws.com";
public static final String API_UPLOAD_VIDEO_URI = "https://reddit-uploaded-video.s3-accelerate.amazonaws.com";
public static final String REDGIFS_API_BASE_URI = "https://api.redgifs.com";
public static final String OH_MY_DL_BASE_URI = "https://ohmydl.com";
public static final String IMGUR_API_BASE_URI = "https://api.imgur.com/3/";
public static final String STREAMABLE_API_BASE_URI = "https://api.streamable.com";
public static final String SERVER_API_BASE_URI = "http://127.0.0.1";

public static final String CLIENT_ID_KEY = "client_id";
public static final String CLIENT_SECRET_KEY = "client_secret";
public static final String CLIENT_ID = "NOe2iKrPPzwscA";
public static String sRedditClientId;
public static final String IMGUR_CLIENT_ID = "Client-ID cc671794e0ab397";
public static final String REDGIFS_CLIENT_ID = "1828d0bcc93-15ac-bde6-0005-d2ecbe8daab3";
public static final String REDGIFS_CLIENT_SECRET = "TJBlw7jRXW65NAGgFBtgZHu97WlzRXHYybK81sZ9dLM=";
public static final String GIPHY_GIF_API_KEY = "";
public static String sGiphyApiKey;
public static final String RESPONSE_TYPE_KEY = "response_type";
public static final String RESPONSE_TYPE = "code";
public static final String STATE_KEY = "state";
public static final String STATE = "23ro8xlxvzp4asqd";
public static final String REDIRECT_URI_KEY = "redirect_uri";
public static final String REDIRECT_URI = "infinity://localhost";
public static final String REDIRECT_URI = "http://127.0.0.1";
public static final String DURATION_KEY = "duration";
public static final String DURATION = "permanent";
public static final String SCOPE_KEY = "scope";
Expand All @@ -48,8 +70,7 @@ public class APIUtils {
public static final String AUTHORIZATION_KEY = "Authorization";
public static final String AUTHORIZATION_BASE = "bearer ";
public static final String USER_AGENT_KEY = "User-Agent";
public static final String USER_AGENT = "android:ml.docilealligator.infinityforreddit:" + BuildConfig.VERSION_NAME + " (by /u/Hostilenemy)";
public static final String ANONYMOUS_USER_AGENT = "ml.docilealligator.infinityforreddit:" + BuildConfig.VERSION_NAME + " (by /u/Hostilenemy)";
public static String sUserAgent;
public static final String USERNAME_KEY = "username";

public static final String GRANT_TYPE_KEY = "grant_type";
Expand Down Expand Up @@ -98,7 +119,7 @@ public class APIUtils {
public static final String LINK_KEY = "link";
public static final String FLAIR_TEMPLATE_ID_KEY = "flair_template_id";
public static final String FLAIR_ID_KEY = "flair_id";

public static final String CLIENT_ID=sRedditClientId;
public static final String MAKE_FAVORITE_KEY = "make_favorite";

public static final String MULTIPATH_KEY = "multipath";
Expand All @@ -115,17 +136,18 @@ public class APIUtils {
public static final String REVEDDIT_ORIGIN = "https://www.reveddit.com";
public static final String REFERER_KEY = "Referer";
public static final String REVEDDIT_REFERER = "https://www.reveddit.com/";

public static final String ANONYMOUS_USER_AGENT = "ml.docilealligator.infinityforreddit:" + " (by /u/Hostilenemy)";
public static final String SPAM_KEY = "spam";
public static final String HOW_KEY = "how";
public static final String HOW_YES = "yes";
public static final String HOW_NO = "no";

public static String GIPHY_GIF_API_KEY=sGiphyApiKey;
public static String USER_AGENT=sUserAgent;
public static final String PLATFORM_KEY = "platform";

public static final String OH_MY_DL_BASE_URI = "https://ohmydl.com";
public static Map<String, String> getHttpBasicAuthHeader() {
Map<String, String> params = new HashMap<>();
String credentials = String.format("%s:%s", APIUtils.CLIENT_ID, "");
String credentials = String.format("%s:%s", sRedditClientId, "");
String auth = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
params.put(APIUtils.AUTHORIZATION_KEY, auth);
return params;
Expand All @@ -134,7 +156,7 @@ public static Map<String, String> getHttpBasicAuthHeader() {
public static Map<String, String> getOAuthHeader(String accessToken) {
Map<String, String> params = new HashMap<>();
params.put(APIUtils.AUTHORIZATION_KEY, APIUtils.AUTHORIZATION_BASE + accessToken);
params.put(APIUtils.USER_AGENT_KEY, APIUtils.USER_AGENT);
params.put(APIUtils.USER_AGENT_KEY, sUserAgent);
return params;
}

Expand Down Expand Up @@ -163,7 +185,7 @@ public static Map<String, String> getRevedditHeader() {
Map<String, String> params = new HashMap<>();
params.put(APIUtils.ORIGIN_KEY, APIUtils.REVEDDIT_ORIGIN);
params.put(APIUtils.REFERER_KEY, APIUtils.REVEDDIT_REFERER);
params.put(APIUtils.USER_AGENT_KEY, APIUtils.USER_AGENT);
params.put(APIUtils.USER_AGENT_KEY, sUserAgent);
return params;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ public class SharedPreferencesUtils {
public static final String DATA_SAVING_MODE_OFF = "0";
public static final String DATA_SAVING_MODE_ONLY_ON_CELLULAR_DATA = "1";
public static final String DATA_SAVING_MODE_ALWAYS = "2";
public static final String OVERRIDE_VIDEO_AUTOPLAY_IN_DATA_SAVING_MODE = "override_video_autoplay_in_data_saving_mode";
public static final String NATIONAL_FLAGS = "national_flags";
public static final String RESPECT_SUBREDDIT_RECOMMENDED_COMMENT_SORT_TYPE = "respect_subreddit_recommended_comment_sort_type";
public static final String UFO_CAPTURING_ANIMATION = "ufo_capturing_animation";
Expand Down
7 changes: 6 additions & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,7 @@
<string name="settings_apply_material_you_title">Apply Material You</string>
<string name="settings_apply_material_you_summary">In case Infinity did not change the theme</string>
<string name="settings_advanced_master_title">Advanced</string>
<string name="api_keys_title">API Keys</string>
<string name="settings_delete_all_subreddits_data_in_database_title">Delete All Subreddits in Database</string>
<string name="settings_delete_all_users_data_in_database_title">Delete All Users in Database</string>
<string name="settings_delete_all_sort_type_data_in_database_title">Delete All Sort Types in Database</string>
Expand Down Expand Up @@ -551,7 +552,11 @@
<string name="settings_bottom_app_bar_option_4">Option 4</string>
<string name="settings_bottom_app_bar_fab">Floating Action Button</string>
<string name="settings_data_saving_mode">Data Saving Mode</string>
<string name="settings_data_saving_mode_info_summary">In data saving mode:\nPreview images are in lower resolution.\nReddit videos are in lower resolution.\nVideo autoplay is disabled.</string>
<string name="settings_data_saving_mode_info_summary">In data saving mode:
Preview images are in lower resolution.
Reddit videos are in lower resolution.
Video autoplay is disabled.</string>
<string name="settings_override_video_autoplay_in_data_saving_mode_title">Autoplay videos in data saving mode</string>
<string name="settings_translation_title">Translation</string>
<string name="settings_translation_summary">Translate this app on POEditor. Thanks to all contributors.</string>
<string name="settings_credits_national_flags">National Flags</string>
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/xml/advanced_preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,9 @@
app:title="@string/settings_crash_reports_title"
app:fragment="ml.docilealligator.infinityforreddit.settings.CrashReportsFragment" />

<ml.docilealligator.infinityforreddit.customviews.preference.CustomFontPreference
app:title="API Keys"
app:icon="@drawable/ic_security_day_night_24dp"
app:fragment="ml.docilealligator.infinityforreddit.settings.ApiKeysPreferenceFragment" />

</PreferenceScreen>
5 changes: 5 additions & 0 deletions app/src/main/res/xml/data_saving_mode_preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
app:entryValues="@array/settings_data_saving_mode_values"
app:useSimpleSummaryProvider="true" />

<ml.docilealligator.infinityforreddit.customviews.preference.CustomFontSwitchPreference
app:defaultValue="false"
app:key="override_video_autoplay_in_data_saving_mode"
android:title="@string/settings_override_video_autoplay_in_data_saving_mode_title" />

<ml.docilealligator.infinityforreddit.customviews.preference.CustomFontSwitchPreference
app:defaultValue="false"
app:key="disable_image_preview"
Expand Down