mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-16 19:57:31 +00:00
removal of third-party story readers
This commit is contained in:
parent
2f0e81d86f
commit
96a25f0d35
@ -88,7 +88,6 @@ import awais.instagrabber.utils.Utils;
|
|||||||
import awais.instagrabber.viewmodels.FeedStoriesViewModel;
|
import awais.instagrabber.viewmodels.FeedStoriesViewModel;
|
||||||
import awais.instagrabber.viewmodels.HighlightsViewModel;
|
import awais.instagrabber.viewmodels.HighlightsViewModel;
|
||||||
import awais.instagrabber.viewmodels.StoriesViewModel;
|
import awais.instagrabber.viewmodels.StoriesViewModel;
|
||||||
import awais.instagrabber.webservices.AloService;
|
|
||||||
import awais.instagrabber.webservices.ServiceCallback;
|
import awais.instagrabber.webservices.ServiceCallback;
|
||||||
import awais.instagrabber.webservices.StoriesService;
|
import awais.instagrabber.webservices.StoriesService;
|
||||||
import awaisomereport.LogCollector;
|
import awaisomereport.LogCollector;
|
||||||
@ -113,7 +112,6 @@ public class StoryViewerFragment extends Fragment {
|
|||||||
private SwipeEvent swipeEvent;
|
private SwipeEvent swipeEvent;
|
||||||
private GestureDetectorCompat gestureDetector;
|
private GestureDetectorCompat gestureDetector;
|
||||||
private StoriesService storiesService;
|
private StoriesService storiesService;
|
||||||
private AloService aloService;
|
|
||||||
private StoryModel currentStory;
|
private StoryModel currentStory;
|
||||||
private int slidePos;
|
private int slidePos;
|
||||||
private int lastSlidePos;
|
private int lastSlidePos;
|
||||||
|
@ -85,7 +85,6 @@ import awais.instagrabber.utils.TextUtils;
|
|||||||
import awais.instagrabber.utils.Utils;
|
import awais.instagrabber.utils.Utils;
|
||||||
import awais.instagrabber.viewmodels.HighlightsViewModel;
|
import awais.instagrabber.viewmodels.HighlightsViewModel;
|
||||||
import awais.instagrabber.viewmodels.PostsViewModel;
|
import awais.instagrabber.viewmodels.PostsViewModel;
|
||||||
import awais.instagrabber.webservices.AloService;
|
|
||||||
import awais.instagrabber.webservices.FriendshipService;
|
import awais.instagrabber.webservices.FriendshipService;
|
||||||
import awais.instagrabber.webservices.ServiceCallback;
|
import awais.instagrabber.webservices.ServiceCallback;
|
||||||
import awaisomereport.LogCollector;
|
import awaisomereport.LogCollector;
|
||||||
@ -107,7 +106,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||||||
private PostsAdapter postsAdapter;
|
private PostsAdapter postsAdapter;
|
||||||
private ActionMode actionMode;
|
private ActionMode actionMode;
|
||||||
private Handler usernameSettingHandler;
|
private Handler usernameSettingHandler;
|
||||||
private AloService aloService;
|
|
||||||
private FriendshipService friendshipService;
|
private FriendshipService friendshipService;
|
||||||
private boolean shouldRefresh = true;
|
private boolean shouldRefresh = true;
|
||||||
private StoryModel[] storyModels;
|
private StoryModel[] storyModels;
|
||||||
@ -216,7 +214,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
fragmentActivity = (MainActivity) requireActivity();
|
fragmentActivity = (MainActivity) requireActivity();
|
||||||
friendshipService = FriendshipService.getInstance();
|
friendshipService = FriendshipService.getInstance();
|
||||||
aloService = AloService.getInstance();
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,22 +458,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||||||
highlightsViewModel.getList().postValue(result);
|
highlightsViewModel.getList().postValue(result);
|
||||||
} else binding.highlightsList.setVisibility(View.GONE);
|
} else binding.highlightsList.setVisibility(View.GONE);
|
||||||
}).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
}).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
} else if (settingsHelper.getString(Constants.STORY_VIEWER).equals(StoryViewerChoice.ALOINSTAGRAM.getValue())) {
|
|
||||||
// Log.d(TAG, "alo triggered");
|
|
||||||
aloService.getUserStory(profileId, profileModel.getUsername(), false, new ServiceCallback<List<StoryModel>>() {
|
|
||||||
@Override
|
|
||||||
public void onSuccess(final List<StoryModel> result) {
|
|
||||||
if (result != null && result.size() > 0) {
|
|
||||||
storyModels = result.toArray(storyModels);
|
|
||||||
binding.mainProfileImage.setStoriesBorder();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(final Throwable t) {
|
|
||||||
Log.e(TAG, "Error on aloService", t);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final String myId = CookieUtils.getUserIdFromCookie(cookie);
|
final String myId = CookieUtils.getUserIdFromCookie(cookie);
|
||||||
|
@ -89,7 +89,6 @@ public class SettingsPreferencesFragment extends BasePreferencesFragment {
|
|||||||
anonUsersPreferenceCategory.setIconSpaceReserved(false);
|
anonUsersPreferenceCategory.setIconSpaceReserved(false);
|
||||||
anonUsersPreferenceCategory.setTitle(R.string.anonymous_settings);
|
anonUsersPreferenceCategory.setTitle(R.string.anonymous_settings);
|
||||||
anonUsersPreferenceCategory.addPreference(getUseInstaDpPreference());
|
anonUsersPreferenceCategory.addPreference(getUseInstaDpPreference());
|
||||||
anonUsersPreferenceCategory.addPreference(getStoryViewerPreference());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -253,25 +252,6 @@ public class SettingsPreferencesFragment extends BasePreferencesFragment {
|
|||||||
return preference;
|
return preference;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference getStoryViewerPreference() {
|
|
||||||
final Context context = getContext();
|
|
||||||
if (context == null) return null;
|
|
||||||
final ListPreference preference = new ListPreference(context);
|
|
||||||
preference.setSummaryProvider(ListPreference.SimpleSummaryProvider.getInstance());
|
|
||||||
final int length = getResources().getStringArray(R.array.anonymous_story_viewer).length;
|
|
||||||
final String[] values = new String[length];
|
|
||||||
for (int i = 0; i < length; i++) {
|
|
||||||
values[i] = String.valueOf(i);
|
|
||||||
}
|
|
||||||
preference.setKey(Constants.STORY_VIEWER);
|
|
||||||
preference.setTitle(R.string.stories_viewer_settings);
|
|
||||||
preference.setDialogTitle(R.string.stories_viewer_settings);
|
|
||||||
preference.setEntries(R.array.anonymous_story_viewer);
|
|
||||||
preference.setIconSpaceReserved(false);
|
|
||||||
preference.setEntryValues(values);
|
|
||||||
return preference;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Preference getPostTimePreference() {
|
private Preference getPostTimePreference() {
|
||||||
final Context context = getContext();
|
final Context context = getContext();
|
||||||
if (context == null) return null;
|
if (context == null) return null;
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
package awais.instagrabber.repositories.thirdparty;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import retrofit2.Call;
|
|
||||||
import retrofit2.http.POST;
|
|
||||||
import retrofit2.http.Field;
|
|
||||||
import retrofit2.http.FormUrlEncoded;
|
|
||||||
import retrofit2.http.Header;
|
|
||||||
import retrofit2.http.Url;
|
|
||||||
|
|
||||||
public interface AloRepository {
|
|
||||||
|
|
||||||
@FormUrlEncoded
|
|
||||||
@POST("myfile/show.php")
|
|
||||||
Call<String> getUserStory(@Header("User-Agent") String userAgent,
|
|
||||||
@Field("storyonId") String id);
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
package awais.instagrabber.repositories.thirdparty;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import retrofit2.Call;
|
|
||||||
import retrofit2.http.Header;
|
|
||||||
import retrofit2.http.GET;
|
|
||||||
import retrofit2.http.QueryMap;
|
|
||||||
|
|
||||||
public interface InstadpRepository {
|
|
||||||
|
|
||||||
@GET("stories/{username}")
|
|
||||||
Call<String> getUserStory(@Header("User-Agent") String userAgent,
|
|
||||||
@QueryMap(encoded = true) Map<String, String> variables);
|
|
||||||
}
|
|
@ -24,7 +24,7 @@ public final class Constants {
|
|||||||
public static final String DM_MARK_AS_SEEN = "dm_mark_as_seen";
|
public static final String DM_MARK_AS_SEEN = "dm_mark_as_seen";
|
||||||
public static final String INSTADP = "instadp";
|
public static final String INSTADP = "instadp";
|
||||||
// deprecated: public static final String STORIESIG = "storiesig";
|
// deprecated: public static final String STORIESIG = "storiesig";
|
||||||
public static final String STORY_VIEWER = "story_viewer";
|
// deprecated: public static final String STORY_VIEWER = "story_viewer";
|
||||||
// deprecated: public static final String AMOLED_THEME = "amoled_theme";
|
// deprecated: public static final String AMOLED_THEME = "amoled_theme";
|
||||||
public static final String CHECK_ACTIVITY = "check_activity";
|
public static final String CHECK_ACTIVITY = "check_activity";
|
||||||
public static final String CHECK_UPDATES = "check_updates";
|
public static final String CHECK_UPDATES = "check_updates";
|
||||||
|
@ -33,7 +33,6 @@ import static awais.instagrabber.utils.Constants.PREF_LIGHT_THEME;
|
|||||||
import static awais.instagrabber.utils.Constants.PREV_INSTALL_VERSION;
|
import static awais.instagrabber.utils.Constants.PREV_INSTALL_VERSION;
|
||||||
import static awais.instagrabber.utils.Constants.SHOW_QUICK_ACCESS_DIALOG;
|
import static awais.instagrabber.utils.Constants.SHOW_QUICK_ACCESS_DIALOG;
|
||||||
import static awais.instagrabber.utils.Constants.SKIPPED_VERSION;
|
import static awais.instagrabber.utils.Constants.SKIPPED_VERSION;
|
||||||
import static awais.instagrabber.utils.Constants.STORY_VIEWER;
|
|
||||||
import static awais.instagrabber.utils.Constants.SWAP_DATE_TIME_FORMAT_ENABLED;
|
import static awais.instagrabber.utils.Constants.SWAP_DATE_TIME_FORMAT_ENABLED;
|
||||||
|
|
||||||
public final class SettingsHelper {
|
public final class SettingsHelper {
|
||||||
@ -114,7 +113,7 @@ public final class SettingsHelper {
|
|||||||
|
|
||||||
@StringDef(
|
@StringDef(
|
||||||
{APP_LANGUAGE, APP_THEME, COOKIE, FOLDER_PATH, DATE_TIME_FORMAT, DATE_TIME_SELECTION, CUSTOM_DATE_TIME_FORMAT,
|
{APP_LANGUAGE, APP_THEME, COOKIE, FOLDER_PATH, DATE_TIME_FORMAT, DATE_TIME_SELECTION, CUSTOM_DATE_TIME_FORMAT,
|
||||||
DEVICE_UUID, SKIPPED_VERSION, DEFAULT_TAB, STORY_VIEWER, PREF_DARK_THEME, PREF_LIGHT_THEME})
|
DEVICE_UUID, SKIPPED_VERSION, DEFAULT_TAB, PREF_DARK_THEME, PREF_LIGHT_THEME})
|
||||||
public @interface StringSettings {}
|
public @interface StringSettings {}
|
||||||
|
|
||||||
@StringDef({DOWNLOAD_USER_FOLDER, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, SHOW_QUICK_ACCESS_DIALOG, MUTED_VIDEOS,
|
@StringDef({DOWNLOAD_USER_FOLDER, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, SHOW_QUICK_ACCESS_DIALOG, MUTED_VIDEOS,
|
||||||
|
@ -1,92 +0,0 @@
|
|||||||
package awais.instagrabber.webservices;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
|
|
||||||
import org.jsoup.Jsoup;
|
|
||||||
import org.jsoup.nodes.Document;
|
|
||||||
import org.jsoup.nodes.Element;
|
|
||||||
import org.jsoup.select.Elements;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import awais.instagrabber.models.ProfileModel;
|
|
||||||
import awais.instagrabber.models.StoryModel;
|
|
||||||
import awais.instagrabber.models.enums.MediaItemType;
|
|
||||||
import awais.instagrabber.repositories.thirdparty.AloRepository;
|
|
||||||
import awais.instagrabber.utils.Constants;
|
|
||||||
import awais.instagrabber.utils.ResponseBodyUtils;
|
|
||||||
import retrofit2.Call;
|
|
||||||
import retrofit2.Callback;
|
|
||||||
import retrofit2.Response;
|
|
||||||
import retrofit2.Retrofit;
|
|
||||||
|
|
||||||
public class AloService extends BaseService {
|
|
||||||
private static final String TAG = "AloService";
|
|
||||||
|
|
||||||
private final AloRepository repository;
|
|
||||||
|
|
||||||
private static AloService instance;
|
|
||||||
|
|
||||||
private AloService() {
|
|
||||||
final Retrofit retrofit = getRetrofitBuilder()
|
|
||||||
.baseUrl("https://aloinstagram.com")
|
|
||||||
.build();
|
|
||||||
repository = retrofit.create(AloRepository.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AloService getInstance() {
|
|
||||||
if (instance == null) {
|
|
||||||
instance = new AloService();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getUserStory(final String id,
|
|
||||||
final String username,
|
|
||||||
final boolean highlight,
|
|
||||||
final ServiceCallback<List<StoryModel>> callback) {
|
|
||||||
final Call<String> userStoryCall = repository.getUserStory(Constants.A_USER_AGENT, id);
|
|
||||||
userStoryCall.enqueue(new Callback<String>() {
|
|
||||||
@Override
|
|
||||||
public void onResponse(@NonNull final Call<String> call, @NonNull final Response<String> response) {
|
|
||||||
final String body = response.body();
|
|
||||||
if (body == null) {
|
|
||||||
Log.e(TAG, "body is null");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final Document data = Jsoup.parse(body);
|
|
||||||
final Elements media = data.select(".mySpan > a");
|
|
||||||
|
|
||||||
Log.d("austin_debug", id+ ": "+body);
|
|
||||||
|
|
||||||
if (data != null && media != null) {
|
|
||||||
final int mediaLen = media.size();
|
|
||||||
final List<StoryModel> models = new ArrayList<>();
|
|
||||||
for (Element story : media) {
|
|
||||||
|
|
||||||
final StoryModel model = new StoryModel(null,
|
|
||||||
story.absUrl("href"),
|
|
||||||
story.selectFirst("video") != null ? MediaItemType.MEDIA_TYPE_VIDEO : MediaItemType.MEDIA_TYPE_IMAGE,
|
|
||||||
-1, // doesn't exist, to handle
|
|
||||||
username,
|
|
||||||
id,
|
|
||||||
false);
|
|
||||||
|
|
||||||
models.add(model);
|
|
||||||
}
|
|
||||||
callback.onSuccess(models);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(@NonNull final Call<String> call, @NonNull final Throwable t) {
|
|
||||||
callback.onFailure(t);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -40,11 +40,6 @@
|
|||||||
<item>2</item>
|
<item>2</item>
|
||||||
<item>3</item>
|
<item>3</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="anonymous_story_viewer">
|
|
||||||
<item>Disable</item>
|
|
||||||
<item>Aloinstagram</item>
|
|
||||||
<item>Instadp</item>
|
|
||||||
</string-array>
|
|
||||||
<string-array name="separator_presets">
|
<string-array name="separator_presets">
|
||||||
<item>None</item>
|
<item>None</item>
|
||||||
<item>\@</item>
|
<item>\@</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user