Compare commits

...
Author SHA1 Message Date
gdlbo 501e39429b Update WebCachePreloader.smali 2022-11-14 15:38:05 +03:00
gdlbo 604d19cc40 upgraded link parser 2022-11-14 14:56:21 +03:00
gdlbo a29e0dcf4b fixed articles 2022-11-14 14:26:42 +03:00
gdlbo ec551dcb33 BusinessNotif disabler 2022-11-13 20:33:46 +03:00
gdlbo cc4690965a Update preferences_feed.xml 2022-11-13 19:47:31 +03:00
gdlbo 65f32d3686 fixed articles 2022-11-13 18:15:33 +03:00
gdlbo bf15bb93ee support story download to video downloader btn 2022-11-10 15:27:15 +03:00
gdlbo cb3c537f1d updated ad filter 2022-11-10 14:58:44 +03:00
Vologhat bb0c845e74 Merge branch 'main' of https://github.com/vtosters/lite 2022-11-09 17:15:32 +03:00
Vologhat a4c88d0924 Fix video downloader 2022-11-09 17:14:00 +03:00
gdlbo 7f0b6c3c3d disabled undelete by default 2022-11-09 16:20:17 +03:00
gdlbo 31eedf4d6d updated feed settings 2022-11-09 11:48:31 +03:00
gdlbo bf23cc7305 deleted unused features 2022-11-09 11:09:57 +03:00
gdlbo 6bef2f1ea9 upd proxy information 2022-11-09 11:02:06 +03:00
gdlbo e561356690 deleted video analytics 2022-11-09 10:31:59 +03:00
gdlbo 64d6e4b529 deleted old abt lib 2022-11-09 10:20:40 +03:00
gdlbo 34d067d192 deleted some vk perf trackers 2022-11-08 18:53:02 +03:00
gdlbo c50511a12f deleted vk updates + google play core 2022-11-08 18:33:37 +03:00
gdlbo 0b748c16e4 deleted google ads lib 2022-11-08 18:21:46 +03:00
gdlbo f88dd17480 deleted measurement lib 2022-11-08 18:16:49 +03:00
gdlbo 892e9874cb deleted 60% of firebase lib 2022-11-08 18:11:34 +03:00
gdlbo 82a24e4abf Update GetFullUserProfile.smali 2022-11-08 16:18:57 +03:00
gdlbo 2631757a05 updated TGS Grabber
@egormetlitsky
2022-11-08 16:01:26 +03:00
gdlbo b2f7754ec9 updated old token req 2022-11-08 15:29:28 +03:00
aliveoutside 2175800f33 run auto code reformat 2022-11-02 16:10:56 +03:00
aliveoutside ab16fdcecb optimize imports 2022-11-02 16:01:38 +03:00
aliveoutside a34cad6837 move everything music related to "music" package 2022-11-02 15:57:23 +03:00
k1zn 34b2357a20 translate + move music settings above 2022-10-31 13:35:12 +05:00
gdlbo e47d6acbf1 fixed show cached pl 2022-10-30 00:54:59 +03:00
aliveoutside a5bd532570 use a singleton for okhttp so it will reduce OkHttpClients count 2022-10-29 19:16:21 +03:00
aliveoutside e4124f459f [music] move catalog json injector to separate package 2022-10-29 18:45:48 +03:00
aliveoutside 03328137df [music] fix not loading "main" page 2022-10-29 18:19:27 +03:00
Vologhat 906036854c maybe music fix 2022-10-29 17:57:39 +03:00
gdlbo 1dad82d61c Update MediaFragment.java 2022-10-28 03:51:39 +03:00
gdlbo 0d9f8360ce Update MediaFragment.java 2022-10-28 03:43:59 +03:00
gdlbo 5dc5f001f2 new feature old music catalog 2022-10-28 03:41:55 +03:00
gdlbo b6d26515ce added support of cache pl to empty pl catalog 2022-10-28 03:37:30 +03:00
gdlbo f02971e00d Update build.gradle 2022-10-28 03:00:01 +03:00
gdlbo 827bb9d9ce refactored catalog injector for caching 2022-10-28 02:57:28 +03:00
gdlbo 4a5a6b58e1 Update JsonInjectors.java 2022-10-26 10:36:25 +03:00
gdlbo fa2a1b083d AppVerHook 2022-10-26 10:11:24 +03:00
gdlbo d372b670c0 AppVerHook 2022-10-26 08:01:33 +03:00
gdlbo 86afcaeacb Update ModernSearchView.smali 2022-10-26 07:50:41 +03:00
gdlbo 027c7a7151 fix null crash 2022-10-26 00:09:32 +03:00
aliveoutside 7f304950a8 [music] support new catalogs 2022-10-22 20:32:16 +03:00
Vologhat fc44a9b263 fix apk install 2022-10-20 21:28:11 +03:00
1457 changed files with 846 additions and 390122 deletions
@@ -184,7 +184,7 @@ public class TelegramStickersGrabber {
}
@Override
public void onResponse(NetCall call, NetResponse response) throws IOException {
public void onResponse(NetCall call, NetResponse response) {
if (!response.isSuccessful()) {
if (response.getData() != null)
listener.onPackDownloadError(new TSGException(response.getDataString() + "\nURL: " + call.request().url()));
@@ -211,21 +211,24 @@ public class TelegramStickersGrabber {
return;
}
if (jPackInfo.optBoolean("is_animated")) {
listener.onPackDownloadError(new TSGException("Animated stickerpacks are not supported!"));
return;
}
ArrayList<Sticker> stickers = new ArrayList<>(jStickers.length());
Log.d(TAG, String.format("Parsing stickers in pack %s", packName));
for (int i = 0; i < jStickers.length(); i++) {
JSONObject jSticker = jStickers.getJSONObject(i);
stickers.add(new Sticker(jSticker.getString("file_id"), jSticker.getString("emoji")));
if (jSticker.optBoolean("is_animated") || jSticker.optBoolean("is_video")) {
if (jSticker.has("thumb")) {
stickers.add(new Sticker(jSticker.getJSONObject("thumb").getString("file_id"), jSticker.getString("emoji")));
} else {
listener.onPackDownloadError(new TSGException("Animated and video stickerpacks without thumbs are not supported!"));
return;
}
} else {
stickers.add(new Sticker(jSticker.getString("file_id"), jSticker.getString("emoji")));
}
}
set = new StickerSet(jPackInfo.getString("name"), jPackInfo.getString("title"), packVersion, stickers);
} catch (Exception e) {
listener.onPackDownloadError(e);
@@ -25,14 +25,15 @@ public class VTExecutors {
}
static class VTMusicDownloadExecutor {
private VTMusicDownloadExecutor() {}
private static class LazyHolder {
public static final ExecutorService INSTANCE = Executors.newSingleThreadExecutor();
private VTMusicDownloadExecutor() {
}
public static ExecutorService getInstance() {
return LazyHolder.INSTANCE;
}
private static class LazyHolder {
public static final ExecutorService INSTANCE = Executors.newSingleThreadExecutor();
}
}
}
@@ -70,8 +70,8 @@ public class OEMDetector {
}
}
public static boolean isIntentResolved(Context ctx, Intent intent ){
return (intent!=null && ctx.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null);
public static boolean isIntentResolved(Context ctx, Intent intent) {
return (intent != null && ctx.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null);
}
public static boolean detectMiuiV2() {
@@ -0,0 +1,13 @@
package ru.vtosters.lite.di.singleton;
import okhttp3.OkHttpClient;
public class VtOkHttpClient extends OkHttpClient {
public static VtOkHttpClient getInstance() {
return LazyHolder.instance;
}
private static class LazyHolder {
private static final VtOkHttpClient instance = new VtOkHttpClient();
}
}
@@ -12,7 +12,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext;
import static ru.vtosters.lite.utils.AndroidUtils.getResources;
import android.util.SparseArray;
import android.widget.Toast;
import androidx.annotation.Nullable;
@@ -330,10 +329,10 @@ public class MessagesDownloader {
"\n" +
"";
return "<html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><meta charset=\"utf-8\"><title>"
+ AndroidUtils.getString(R.string.chat_export_title)
+ "</title><style>"
+ style
return "<html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><meta charset=\"utf-8\"><title>"
+ AndroidUtils.getString(R.string.chat_export_title)
+ "</title><style>"
+ style
+ "</style></head><body>";
}
@@ -9,18 +9,20 @@ import android.content.IntentFilter;
import android.net.Uri;
import android.os.Environment;
import androidx.core.content.FileProvider;
import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vtosters.lite.R;
import java.io.File;
import b.h.g.m.FileUtils;
import ru.vtosters.lite.ui.activities.APKInstallActivity;
import ru.vtosters.lite.utils.AndroidUtils;
public class OTADownloader {
private static final BroadcastReceiver callback = new BroadcastReceiver() {
@SuppressLint("Range")
@Override
public void onReceive(Context context, Intent intent) {
var extras = intent.getExtras();
@@ -30,24 +32,15 @@ public class OTADownloader {
var query = new DownloadManager.Query();
var id = extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID);
query.setFilterById(id);
var manager = (DownloadManager) AndroidUtils.getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE);
var manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
var cursor = manager.query(query);
if (cursor.moveToFirst()) {
@SuppressLint("Range") var status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
if (status == DownloadManager.STATUS_SUCCESSFUL) {
var downloadDir = new File(Environment.getExternalStorageDirectory(), "Download");
if (!downloadDir.exists()) return;
var list = downloadDir.listFiles();
if (list == null || list.length == 0) return;
var maxIndex = -1;
for (File file : list) {
var name = file.getAbsolutePath().substring(file.getAbsolutePath().lastIndexOf("/") + 1);
if (file.isFile()
&& name.matches("VTLite-\\d+\\.apk"))
maxIndex = Math.max(maxIndex, Integer.parseInt(name.replaceFirst(".+-(\\d+).+", "$1")));
}
File apk = maxIndex == -1 ? new File(downloadDir, "VTLite.apk") : new File(downloadDir, "VTLite-" + maxIndex + ".apk");
APKInstallActivity.installOta(context, FileUtils.uriFromFile(apk));
var uriStr = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
var apk = new File(uriStr.replace("file://", ""));
var uri = FileProvider.getUriForFile(context, "com.vtosters.lite.common.VKFileProvider", apk);
APKInstallActivity.installOta(context, uri);
} else if (status == DownloadManager.STATUS_FAILED) {
AndroidUtils.sendToast(context.getString(R.string.downloaderr));
}
@@ -55,7 +48,7 @@ public class OTADownloader {
}
};
public static void downloadBuild(String url) {
public static void downloadBuild(String url, String commitSHA) {
var context = AndroidUtils.getGlobalContext();
try {
var uri = Uri.parse(url);
@@ -64,8 +57,8 @@ public class OTADownloader {
var request = new DownloadManager.Request(uri);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setTitle("VTLite.apk");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "VTLite_" + System.currentTimeMillis() / 1000 + ".apk");
request.setTitle("Скачивание обновления");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "VTLite-" + commitSHA + ".apk");
var manager = (DownloadManager) AndroidUtils.getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
@@ -7,32 +7,35 @@ import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;
import android.util.Log;
import com.vk.dto.common.ImageSize;
import com.vk.dto.stories.model.StoryEntry;
import org.json.JSONArray;
import java.util.List;
public class StoryDownloader {
public static Runnable injectButton(StoryEntry story) {
return () -> {
// if story is a pic
if (story.T1()) {
List<ImageSize> imageSizes = story.E.Q.t1();
String url = imageSizes.get(imageSizes.size() - 1).url;
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setTitle("photo" + story.E.a + ".jpg");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES, "photo" + story.E.a + ".jpg");
request.allowScanningByMediaScanner();
((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
return;
}
return () -> downloadStory(story);
}
// if story is a video
if (story.F != null) {
downloadVideo(story.F, null);
}
};
public static void downloadStory(StoryEntry story){
if (story.T1()) {
List<ImageSize> imageSizes = story.E.Q.t1();
String url = imageSizes.get(imageSizes.size() - 1).url;
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setTitle("photo" + story.E.a + ".jpg");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES, "photo" + story.E.a + ".jpg");
request.allowScanningByMediaScanner();
((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
return;
}
// if story is a video
if (story.F != null) {
downloadVideo(story.F, null);
}
}
}
@@ -11,6 +11,7 @@ import android.app.ProgressDialog;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
@@ -21,6 +22,7 @@ import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vk.core.dialogs.bottomsheet.MenuBottomSheetAction;
import com.vk.core.util.ToastUtils;
import com.vk.dto.common.VideoFile;
import com.vk.dto.stories.model.StoryEntry;
import com.vtosters.lite.R;
import org.json.JSONArray;
@@ -103,9 +105,9 @@ public class VideoDownloader {
max[i] = list.get(i);
}
if (context == null) context = LifecycleUtils.getCurrentActivity();
final Context finalContext = context != null ? context : LifecycleUtils.getCurrentActivity();
var adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_1, max) {
var adapter = new ArrayAdapter(finalContext, android.R.layout.simple_list_item_1, max) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
@@ -114,22 +116,49 @@ public class VideoDownloader {
}
};
new VkAlertDialog.Builder(context)
new VkAlertDialog.Builder(finalContext)
.setAdapter(adapter, (dialog, which) -> {
var url = urls.get(which);
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setTitle(videoFile.toString());
request.allowScanningByMediaScanner();
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4");
((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
try {
var url = urls.get(which);
var request = new DownloadManager.Request(Uri.parse(url))
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
.setTitle(videoFile.toString())
.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4");
request.allowScanningByMediaScanner();
((DownloadManager) finalContext.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
} catch (Throwable ignored) {
}
})
.show();
}
public static void parseVideoLink(String url, Context ctx) {
if (url.startsWith("http://")) {
url.replace("http://", "https://");
} else if (url.startsWith("vk.com"))
url = "https://" + url;
if (url.contains("vk.com/story")) {
ToastUtils.a(ctx.getString(R.string.video_dl_stories_not_supported));
String storyId = url.substring(url.startsWith("https") ? 20 : 19) + "_story";
ProgressDialog progressDialog = new ProgressDialog(ctx);
progressDialog.setMessage(ctx.getString(R.string.video_dl_progress));
progressDialog.show();
makeRequest("https://" + getApi() + "/method/stories.getById?stories=" + storyId + "&v=5.99&access_token=" + getUserToken(),
response -> {
progressDialog.cancel();
try {
JSONObject mainJson = new JSONObject(response);
JSONObject responseJson = mainJson.getJSONObject("response").optJSONArray("items").optJSONObject(0);
StoryEntry story = new StoryEntry(responseJson);
StoryDownloader.downloadStory(story);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(ctx, ctx.getString(R.string.video_dl_error), Toast.LENGTH_SHORT).show();
}
});
return;
}
@@ -90,6 +90,14 @@ public class EncryptProvider {
return (String) decryptMessage(msgBody, peer, showEmoji);
}
public static CharSequence decryptMessage(CharSequence msgBody, MsgFromUser msgFromUser, boolean showEmoji) {
try {
return decryptMessage((String) msgBody, msgFromUser.v1(), showEmoji);
} catch (Exception e) {
return decryptMessage((String) msgBody, 0, showEmoji);
}
}
// For MentionsFormatter that requires CharSequence
public static CharSequence decryptMessage(String msgBody, int peer, boolean showEmoji) {
var decryptedMessage = decryptMessage(msgBody, peer);
@@ -31,6 +31,7 @@ import java.util.regex.Pattern;
import okhttp3.Headers;
import okhttp3.OkHttpClient;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.net.Request;
import ru.vtosters.lite.utils.LifecycleUtils;
@@ -38,7 +39,7 @@ public class FoafBase {
private static final Pattern FOAF_REGEX = Pattern.compile("<ya:created dc:date=\"(.+?)\"");
private static final Pattern FOAF_REGEX_LAST_SEEN = Pattern.compile("<ya:lastLoggedIn dc:date=\"(.*)(((\\+|-)\\d\\d):(\\d\\d))\"");
private static final String API_VKNEXT = "https://api.vtosters.app/v1/getBypassedOnlineInfo?json=1&ids=";
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
public static long getLastSeen(long origtime, int id) throws ParseException {
var request = new okhttp3.Request.a()
@@ -0,0 +1,15 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import b.h.g.g.BuildInfo;
public class AppVerHook {
public static int appBuild() {
return getBoolValue("useOldAppVer", false) ? 6561 : BuildInfo.i.e();
}
public static String appVer() {
return getBoolValue("useOldAppVer", false) ? "6.18.1" : BuildInfo.i.d();
}
}
@@ -0,0 +1,9 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
public class BusinessNotifHook {
public static boolean hook(boolean i){
return !getBoolValue("businessDisabler", false) && i;
}
}
@@ -83,7 +83,7 @@ public class DockBarInjector {
}
} catch (NoSuchFieldException | IllegalAccessException | ClassNotFoundException |
NoSuchMethodException | InvocationTargetException e) {
NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
@@ -1,6 +1,6 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.musicFixNew;
import static ru.vtosters.lite.utils.Preferences.isValidSignature;
import android.os.Build;
import android.util.Base64;
@@ -27,9 +27,13 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.net.ssl.HttpsURLConnection;
public class GcmHook {
private static final String agent = String.format("Android-GCM/1.5 (%s %s)", Build.MODEL, Build.MODEL);
private static KeyPair pair;
private static int rid = 0;
static {
@@ -37,14 +41,11 @@ public class GcmHook {
}
public static String requestTokenV2(String orig) {
if (musicFixNew()) return "null"; //not public
return orig;
return isValidSignature() ? "eyJhbGciOiAibm9uZSJ9eyJub25jZSI6ICJudWxsIn0=" : "e251bGx9";
}
public static String requestToken(String orig) {
if (musicFixNew()) return "{null}"; //not public
if (orig.equals("")) return requestToken();
return orig;
return requestToken();
}
public static String requestToken() {
@@ -60,6 +61,7 @@ public class GcmHook {
} catch (NoSuchAlgorithmException e) {
xappide = "";
}
AtomicBoolean wait = new AtomicBoolean(false);
StringBuilder sb = new StringBuilder();
List<String> params = new ArrayList<>();
@@ -71,17 +73,20 @@ public class GcmHook {
while (!wait.get()) {
Thread.sleep(100);
}
String token = sb.toString();
if (token.equals("REGISTRATION_ERROR")) {
return requestToken();
}
rid = 0;
String pub22 = genNewKey();
String sig2 = getSig(pub22);
params.clear();
fillParams(params, sig2, pub22, xappide, Long.parseLong(aid.split(" ")[1].split(":")[0]), true);
doRequest("https://android.clients.google.com/c2dm/register3", "POST", params, aid, GcmHook::lambda$requestToken$1);
return token;
return isValidSignature() ? token : null;
} catch (FileNotFoundException e2) {
return requestToken();
} catch (Exception e3) {
@@ -100,12 +105,14 @@ public class GcmHook {
private static void fillParams(List<String> params, String sig, String pub2, String xappid, long androidId, boolean del) {
rid++;
params.add("X-subtype=841415684880");
if (del) {
params.add("X-delete=1");
params.add("X-X-delete=1");
} else {
params.add("X-X-subscription=841415684880");
}
params.add("X-X-subtype=841415684880");
params.add("X-app_ver=" + "7.26");
params.add("X-kid=|ID|" + rid + "|");
@@ -115,19 +122,20 @@ public class GcmHook {
params.add("X-gmsv=11949480");
params.add("X-pub2=" + pub2);
params.add("X-X-kid=|ID|" + rid + "|");
StringBuilder sb = new StringBuilder();
sb.append("X-appid=");
sb.append(xappid);
params.add(sb.toString());
params.add("X-appid=" + xappid);
if (del) {
params.add("X-scope=GCM");
} else {
params.add("X-scope=*");
}
params.add("X-subscription=841415684880");
if (!del) {
params.add("X-gmp_app_id=1:841415684880:android:632f429381141121");
}
params.add("X-app_ver_name=" + "7.26");
params.add("app=com.vkontakte.android");
params.add("sender=841415684880");
@@ -139,9 +147,11 @@ public class GcmHook {
private static String join(String chr, Iterable<String> arr) {
String str = "";
for (String s : arr) {
str = str.isEmpty() ? s : str + chr + s;
}
return str;
}
@@ -168,8 +178,12 @@ public class GcmHook {
}
private static String getRandomAid() {
var arr1 = new String[]{"3974055026275073921", "4418584909973341826", "4585634953328772978"};
var arr2 = new String[]{"1932960345884890854", "6594645578425092292", "1792344590975444730"};
var arr1 = new String[]{
"3974055026275073921", "4418584909973341826", "4585634953328772978"
};
var arr2 = new String[]{
"1932960345884890854", "6594645578425092292", "1792344590975444730"
};
int r = new Random().nextInt(2);
return "AidLogin " + arr1[r] + ":" + arr2[r];
}
@@ -182,6 +196,7 @@ public class GcmHook {
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return Base64.encodeToString(pair.getPublic().getEncoded(), 0);
}
@@ -190,7 +205,9 @@ public class GcmHook {
PrivateKey key = pair.getPrivate();
Signature sign = Signature.getInstance(key instanceof RSAPrivateKey ? "SHA256withRSA" : "SHA256withECDSA");
sign.initSign(key);
sign.update(join("\n", new String[]{"com.vkontakte.android", pub2}).getBytes(StandardCharsets.UTF_8));
sign.update(join("\n", new String[]{
"com.vkontakte.android", pub2
}).getBytes(StandardCharsets.UTF_8));
return Base64.encodeToString(sign.sign(), 0);
} catch (Exception e) {
e.printStackTrace();
@@ -201,4 +218,4 @@ public class GcmHook {
public interface Callback {
void doCallback(String str);
}
}
}
@@ -1,20 +1,13 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.foaf.FoafBase.getBypassedOnlineInfo;
import static ru.vtosters.lite.hooks.DateHook.getLocale;
import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogHeader;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogPlaylist;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogSeparator;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getPlaylist;
import static ru.vtosters.lite.proxy.ProxyUtils.getApi;
import static ru.vtosters.lite.proxy.ProxyUtils.getStatic;
import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.friendsblock;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.hasVerification;
import static ru.vtosters.lite.utils.Preferences.podcastcatalog;
import static ru.vtosters.lite.utils.VTVerifications.isDeveloper;
import static ru.vtosters.lite.utils.VTVerifications.isPrometheus;
import static ru.vtosters.lite.utils.VTVerifications.isVerified;
@@ -22,8 +15,6 @@ import static ru.vtosters.lite.utils.VTVerifications.isVerified;
import android.text.TextUtils;
import android.util.Log;
import com.vk.core.network.Network;
import com.vk.core.util.DeviceIdProvider;
import com.vk.core.util.LangUtils;
import com.vtosters.lite.R;
@@ -37,16 +28,13 @@ import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Random;
import bruhcollective.itaysonlab.libvkx.client.LibVKXClient;
import okhttp3.Headers;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.music.cache.CacheDatabaseDelegate;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.utils.AccountManagerUtils;
import ru.vtosters.lite.utils.AndroidUtils;
public class JsonInjectors {
private static final OkHttpClient mClient = new OkHttpClient();
private static final OkHttpClient mClient = VtOkHttpClient.getInstance();
public static JSONObject profileButton(JSONObject orig) throws JSONException {
var id = orig.getInt("id");
@@ -165,7 +153,8 @@ public class JsonInjectors {
var isPicture = pic.endsWith(".png") || pic.endsWith(".jpg") || pic.endsWith(".jpeg") || pic.endsWith(".webp");
if (isVerified(peerid)) text = AndroidUtils.getString(R.string.i_bought) + " VTosters Premium";
if (isVerified(peerid))
text = AndroidUtils.getString(R.string.i_bought) + " VTosters Premium";
if (isPrometheus(peerid))
text = AndroidUtils.getString(R.string.i_bought) + " VTosters Premium Gold Prime Pro Plus";
if (isDeveloper(peerid)) text = AndroidUtils.getString(R.string.i_created_poop);
@@ -242,19 +231,6 @@ public class JsonInjectors {
return json.putOpt("items", newItems);
}
public static JSONObject musiclink(JSONObject json) {
var links = json.optJSONArray("links");
if (links != null) {
if (links.optJSONObject(0).optString("url").contains("?section=recent")) {
json.remove("links");
if (dev()) Log.d("VKMusic", "Removed links buttons");
}
}
return json;
}
public static JSONObject setOnlineInfo(JSONObject json) throws JSONException {
var id = json.optInt("id");
@@ -368,159 +344,6 @@ public class JsonInjectors {
return items;
}
public static JSONObject music(JSONObject json) throws JSONException {
var catalog = json.optJSONObject("catalog");
JSONArray oldItems = null;
if (catalog != null) {
oldItems = catalog.optJSONArray("sections");
}
if (oldItems != null && oldItems.optJSONObject(0).optString("url").contains("general")) {
json.optJSONArray("playlists").put(getPlaylist());
if (podcastcatalog()) {
var podcasts = fetchCatalogPodcast();
if (podcasts != null) {
var catalogarr = podcasts.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
}
var playlists = fetchCatalogId("https://vk.com/audio?section=my_playlists");
if (playlists != null) {
var catalogarr = playlists.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
var albums = fetchCatalogId("https://vk.com/audio?section=albums");
if (albums != null) {
var catalogarr = albums.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
var recent = fetchCatalogId("https://vk.com/audio?section=recent");
if (recent != null) {
var catalogarr = recent.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
for (int i = 0; i < oldItems.length(); i++) {
var item = oldItems.optJSONObject(i);
var title = item.optString("title");
var id = item.optString("id");
var url = item.optString("url");
var value = AndroidUtils.getPrefsValue("musicdefcatalog");
Log.d("VKMusic", "title: " + title + " id: " + id + " url: " + url + " value: " + value);
if (url.contains(value) && !value.isEmpty()) {
catalog.put("default_section", id);
if (dev()) Log.d("VKMusic", "Added " + title + " as default music section");
}
}
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()){ // inj in playlist list
var blocks = oldItems.optJSONObject(0).optJSONArray("blocks");
var newBlocks = new JSONArray();
if (blocks != null){
newBlocks
.put(getCatalogHeader())
.put(getCatalogPlaylist())
.put(getCatalogSeparator());
Log.d("VKMusic", "added cache catalog playlist");
for (int i = 0; i < blocks.length(); i++) {
newBlocks.put(blocks.optJSONObject(i));
}
oldItems.optJSONObject(0).put("blocks", newBlocks);
}
}
}
return json;
}
public static JSONObject fetchCatalogId(String section) {
if (section.isEmpty()) return null;
var request = new Request.a()
.b("https://" + getApi() + "/method/catalog.getAudio"
+ "?v=5.119"
+ "&https=1"
+ "&need_blocks=1"
+ "&lang="
+ getLocale()
+ "&device_id="
+ DeviceIdProvider.d(AndroidUtils.getGlobalContext())
+ "&url="
+ section
+ "&access_token="
+ AccountManagerUtils.getUserToken())
.a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")).a();
try {
return new JSONObject(mClient.a(request).execute().a().g()).getJSONObject("response");
} catch (JSONException | IOException e) {
Log.d("VTLMusic", "Error: " + e.getMessage());
}
return null;
}
public static JSONObject fetchCatalogPodcast() {
var request = new Request.a()
.b("https://" + getApi() + "/method/catalog.getPodcasts"
+ "?v=5.119"
+ "&https=1"
+ "&need_blocks=1"
+ "&lang="
+ getLocale()
+ "&device_id="
+ DeviceIdProvider.d(AndroidUtils.getGlobalContext())
+ "&access_token="
+ AccountManagerUtils.getUserToken())
.a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")).a();
try {
return new JSONObject(mClient.a(request).execute().a().g()).getJSONObject("response");
} catch (JSONException | IOException e) {
Log.d("VTLMusic", "Error: " + e.getMessage());
}
return null;
}
public static JSONObject friends(JSONObject json) throws JSONException, ParseException, IOException {
JSONObject catalog = onlineHookProfiles(json);
boolean sectionexecute = true;
@@ -4,15 +4,13 @@ import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest;
import static ru.vtosters.lite.utils.CacheUtils.getInstance;
import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters;
import static ru.vtosters.lite.utils.Preferences.checkupdates;
import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme;
import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme;
import android.app.Activity;
import android.os.Build;
import android.preference.PreferenceManager;
import ru.vtosters.lite.downloaders.notifications.NotificationChannels;
import ru.vtosters.lite.concurrent.VTExecutors;
import ru.vtosters.lite.downloaders.notifications.NotificationChannels;
import ru.vtosters.lite.ui.dialogs.DisableBattery;
import ru.vtosters.lite.ui.dialogs.InstallGMS;
import ru.vtosters.lite.ui.dialogs.OTADialog;
@@ -5,7 +5,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs;
import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext;
import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue;
import static ru.vtosters.lite.utils.Preferences.ads;
import static ru.vtosters.lite.utils.Preferences.adsslider;
import static ru.vtosters.lite.utils.Preferences.authorsrecomm;
import static ru.vtosters.lite.utils.Preferences.friendsrecomm;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
@@ -115,14 +114,16 @@ public class NewsfeedHook {
}
public static void adsParams(HashSet<String> hashSet) {
if (ads())
if (ads()) {
hashSet.add("ads_disabled");
} else {
hashSet.add("ads_app_slider");
hashSet.add("ads_site_slider");
}
hashSet.add("ads_app");
hashSet.add("ads_site");
hashSet.add("ads_post");
if (!adsslider())
hashSet.add("ads_app_slider");
hashSet.add("ads_site_slider");
hashSet.add("ads_app_video");
hashSet.add("ads_post_pretty_cards");
hashSet.add("ads_post_snippet_video");
@@ -37,11 +37,12 @@ import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.ThemesUtils;
public class PhotoViewer {
static OkHttpClient client = new OkHttpClient();
static OkHttpClient client = VtOkHttpClient.getInstance();
public static boolean interceptClick(AttachmentWithMedia attachment, MenuItem item, View view) {
if (item.getItemId() == R.id.search_photo) {
@@ -3,7 +3,7 @@ package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
public class PromoStickersHook {
public static String hook(){
public static String hook() {
return getBoolValue("promotedstickers", true) ? "purchased,active" : "purchased,active,promoted";
}
}
@@ -70,11 +70,11 @@ public class ProxyHook {
rgRandomProxy.setChecked(isRandomProxyEnabled());
rgVika.setChecked(isVikaProxyEnabled());
new VkAlertDialog.Builder(ctx)
.setTitle(ctx.getString(R.string.vtlproxy))
.setMessage(ctx.getString(R.string.proxy_warning))
.setView(rg)
.setPositiveButton(ctx.getString(R.string.vtl_confirm), ((dialog, which) -> { // Применить
new VkAlertDialog.Builder(ctx)
.setTitle(ctx.getString(R.string.vtlproxy))
.setMessage(ctx.getString(R.string.proxy_warning))
.setView(rg)
.setPositiveButton(ctx.getString(R.string.vtl_confirm), ((dialog, which) -> { // Применить
if (rgZaborona.isChecked()) {
edit().putString("proxy", "zaborona").commit();
restartApplication();
@@ -88,13 +88,13 @@ public class ProxyHook {
edit().putString("proxy", "noproxy").commit();
restartApplication();
}
}))
.setNeutralButton(ctx.getString(R.string.proxy_settings), ((dialog, which) -> {
}))
.setNeutralButton(ctx.getString(R.string.proxy_settings), ((dialog, which) -> {
var intent = new Navigator(ProxySettingsFragment.class)
.b(ctx)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);
}))
.show();
}))
.show();
}
}
@@ -8,7 +8,7 @@ import ru.vtosters.lite.utils.ThemesUtils;
public class WritebarHook {
public static int getWriteBar() {
return wbios() ? R.layout.write_bar_i : R.layout.write_bar;
return wbios() ? R.layout.write_bar_i : R.layout.write_bar;
}
public static int getIconsColors(int def) {
@@ -26,6 +26,7 @@ import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.downloaders.AudioDownloader;
import ru.vtosters.lite.music.cache.CacheDatabaseDelegate;
import ru.vtosters.lite.utils.AndroidUtils;
@@ -35,7 +36,7 @@ public class LastFMScrobbler {
private static final String KEY = "5965d63402414776c54c266db0211746";
private static final String KEY_SECRET = "d982180eed13275bb948e41cf225f88f";
private static final String URL = "https://ws.audioscrobbler.com/2.0/";
private static final OkHttpClient CLIENT = new OkHttpClient();
private static final OkHttpClient CLIENT = VtOkHttpClient.getInstance();
private static final List<String> SCROBBLED_UUIDS = new ArrayList<>();
public static void grabMusicTrack(MusicTrack musictrack) {
@@ -55,7 +56,7 @@ public class LastFMScrobbler {
}
if (Preferences.autocache() && !CacheDatabaseDelegate.isCached(uid)) {
if (LibVKXClient.isIntegrationEnabled()){
if (LibVKXClient.isIntegrationEnabled()) {
LibVKXClient.getInstance().runOnService(service -> {
try {
service.addTrackToCache(track_id, owner_id, access_key);
@@ -100,7 +101,7 @@ public class LastFMScrobbler {
fetch(params, new Callback() {
@Override
public void a(Call call, IOException e) {
Log.d("Scrobbler", e+"");
Log.d("Scrobbler", e + "");
}
@Override
@@ -17,6 +17,7 @@ import javax.crypto.NoSuchPaddingException;
import java8.util.concurrent.CompletableFuture;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.music.converter.ts.FFMpeg;
import ru.vtosters.lite.music.converter.ts.TSMerger;
import ru.vtosters.lite.music.downloader.ThumbnailDownloader;
@@ -25,7 +26,7 @@ import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.IOUtils;
public class M3UDownloader implements ITrackDownloader {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
public static M3UDownloader getInstance() {
return Holder.INSTANCE;
@@ -25,9 +25,8 @@ import ru.vtosters.lite.music.cache.helpers.PlaylistHelper;
import ru.vtosters.lite.music.cache.helpers.TracklistHelper;
public class PlaylistInjector {
private static final ExecutorService executor = Executors.newCachedThreadPool();
public final static String CHANNEL_NAME = "VTCH";
private static final ExecutorService executor = Executors.newCachedThreadPool();
public static void injectDownloadPlaylist(Playlist playlist) {
executor.submit(() -> AudioDownloader.cachePlaylist(playlist));
@@ -1,6 +1,11 @@
package ru.vtosters.lite.music.cache.injectors;
import static ru.vtosters.lite.music.cache.CacheDatabaseDelegate.hasTracks;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogHeader;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogPlaylist;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogSeparator;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getPlaylist;
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserId;
import android.util.Log;
@@ -20,9 +25,8 @@ import java.util.UUID;
import bruhcollective.itaysonlab.libvkx.client.LibVKXClient;
import io.reactivex.Observable;
import io.reactivex.ObservableOnSubscribe;
import ru.vtosters.lite.music.cache.helpers.PlaylistHelper;
import ru.vtosters.lite.music.cache.CacheDatabaseDelegate;
import ru.vtosters.lite.music.cache.helpers.TracklistHelper;
import ru.vtosters.lite.utils.AccountManagerUtils;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.NetworkUtils;
@@ -76,76 +80,67 @@ public class TracklistInjector {
public static void injectIntoExistingCatalog(JSONObject catalogNode) {
Log.d("TracklistInjector", "injectIntoExistingCatalog");
if (!hasTracks()) return;
try {
var sectionsNode = catalogNode.getJSONObject("catalog")
.getJSONArray("sections");
var catalog = catalogNode.getJSONObject("catalog");
var sectionsNode = catalog.getJSONArray("sections");
var firstSection = sectionsNode.getJSONObject(0);
if (!firstSection.getString("url").equals("https://vk.com/audios" + AccountManagerUtils.getUserId() + "?section=all"))
return;
var foundPlaylistBlock = false;
var suitableIndex = 0;
if (!firstSection.getString("url").equals("https://vk.com/audios" + getUserId() + "?section=all"))
return;
var blocks = firstSection.getJSONArray("blocks");
for (int i = 0; i < blocks.length(); i++) {
var block = blocks.getJSONObject(i);
var dataType = block.getString("data_type");
if ("music_audios".equals(dataType)) {
suitableIndex = i - 1;
continue;
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
var noPlaylists = blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type").equals("create_playlist");
if (noPlaylists) {
catalogNode.put("playlists", new JSONArray().put(getPlaylist()));
Log.d("catalogInjector", "added new pl");
var newBlocks = new JSONArray();
newBlocks
.put(getCatalogHeader())
.put(getCatalogPlaylist())
.put(getCatalogSeparator());
Log.d("catalogInjector", "added cache catalog playlist");
for (int i = 0; i < blocks.length(); i++) {
newBlocks.put(blocks.optJSONObject(i));
}
firstSection.put("blocks", newBlocks);
} else {
try {
catalogNode.optJSONArray("playlists").put(getPlaylist());
Log.d("catalogInjector", "added to exist pl");
for (int i = 0; i < blocks.length(); i++) {
var j = blocks.optJSONObject(i);
var type = j.optString("data_type");
if (type.equals("music_playlists") && j.has("playlists_ids")) {
var newarr = new JSONArray();
var playlists_ids = j.optJSONArray("playlists_ids");
newarr.put(getUserId() + "_-1");
for (int n = 0; n < playlists_ids.length(); n++) {
newarr.put(playlists_ids.optString(n));
}
j.put("playlists_ids", newarr);
break;
}
}
} catch (Exception e) {
Log.d("catalogInjector", e.toString());
}
}
if (!"music_playlists".equals(dataType))
continue;
var playlistIds = block.getJSONArray("playlists_ids");
var newPlaylistIds = new JSONArray()
.put(AccountManagerUtils.getUserId() + "_-1");
for (int j = 0; j < playlistIds.length(); j++)
newPlaylistIds.put(playlistIds.get(j));
block.put("playlists_ids", newPlaylistIds);
// need test
blocks.remove(i);
blocks.put(i, block);
foundPlaylistBlock = true;
}
if (foundPlaylistBlock) {
var playlists = catalogNode.getJSONArray("playlists")
.put(0, PlaylistHelper.createCachedPlaylistMetadata().J());
catalogNode.put("playlists", playlists);
return;
}
var ids = new JSONArray()
.put(0, AccountManagerUtils.getUserId() + "_-1");
var playlistsBlock = new JSONObject()
.put("id", getRandomId())
.put("data_type", "music_playlists")
.put("url", "synth:cache:playlists")
.put("playlists_ids", ids);
var layout = new JSONObject()
.put("name", "large_slider")
.put("owner_id", AccountManagerUtils.getUserId());
playlistsBlock.put("layout", layout);
blocks.put(suitableIndex, playlistsBlock);
firstSection.put("blocks", blocks);
var playlists = new JSONArray()
.put(0, PlaylistHelper.createCachedPlaylistMetadata().J());
catalogNode.put("playlists", playlists);
} catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
Log.d("TracklistInjector", e.toString());
}
}
@@ -175,7 +170,7 @@ public class TracklistInjector {
var layout = new JSONObject()
.put("name", "list")
.put("owner_id", AccountManagerUtils.getUserId());
.put("owner_id", getUserId());
audiosBlock.put("layout", layout);
@@ -0,0 +1,293 @@
package ru.vtosters.lite.music.catalog.inject;
import static ru.vtosters.lite.hooks.DateHook.getLocale;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogHeader;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogPlaylist;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getCatalogSeparator;
import static ru.vtosters.lite.music.cache.helpers.PlaylistHelper.getPlaylist;
import static ru.vtosters.lite.proxy.ProxyUtils.getApi;
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserId;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import android.util.Log;
import com.vk.core.network.Network;
import com.vk.core.util.DeviceIdProvider;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import bruhcollective.itaysonlab.libvkx.client.LibVKXClient;
import okhttp3.Headers;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.music.cache.CacheDatabaseDelegate;
import ru.vtosters.lite.utils.AccountManagerUtils;
import ru.vtosters.lite.utils.AndroidUtils;
public class CatalogJsonInjector {
private static final OkHttpClient mClient = VtOkHttpClient.getInstance();
public static JSONObject music(JSONObject json) throws JSONException {
var catalog = json.optJSONObject("catalog");
JSONArray oldItems = null;
if (catalog != null) {
oldItems = catalog.optJSONArray("sections");
}
var useOldAppVer = getBoolValue("useOldAppVer", false);
var isUsersCatalog = oldItems.optJSONObject(0).optString("url").equals("https://vk.com/audios" + getUserId() + "?section=" + (useOldAppVer ? "all" : "general"));
if (oldItems != null && isUsersCatalog) {
var blocks = oldItems.optJSONObject(0).optJSONArray("blocks");
if (!useOldAppVer) {
if (blocks != null) {
for (int i = 0; i < blocks.length(); i++) {
var block = blocks.optJSONObject(i);
var layout = block.optJSONObject("layout");
if (layout != null) {
var name = layout.optString("name");
if (name.equals("header_extended")) {
if (layout.has("top_title")) blocks.remove(i);
try {
layout.put("name", "header");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
}
var playlists = fetchCatalogId("https://vk.com/audio?section=my_playlists");
if (playlists != null) {
var catalogarr = playlists.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
var albums = fetchCatalogId("https://vk.com/audio?section=albums");
if (albums != null) {
var catalogarr = albums.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
var recent = fetchCatalogId("https://vk.com/audio?section=recent");
if (recent != null) {
var catalogarr = recent.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0);
var title = catalogarr.optString("title");
var id = catalogarr.optString("id");
var url = catalogarr.optString("url");
if (dev()) Log.d("VKMusic", "Added " + title + " in music sections");
oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url));
}
for (int i = 0; i < oldItems.length(); i++) {
var item = oldItems.optJSONObject(i);
var title = item.optString("title");
var id = item.optString("id");
var url = item.optString("url");
var value = AndroidUtils.getPrefsValue("musicdefcatalog");
Log.d("VKMusic", "title: " + title + " id: " + id + " url: " + url + " value: " + value);
if (url.contains(value) && !value.isEmpty()) {
catalog.put("default_section", id);
if (dev()) Log.d("VKMusic", "Added " + title + " as default music section");
}
}
}
if (CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) { // inj in playlist list
var noPlaylists = !json.has("playlists");
if (noPlaylists) {
json.put("playlists", new JSONArray().put(getPlaylist()));
Log.d("catalogInjector", "added new pl");
} else {
try {
json.optJSONArray("playlists").put(getPlaylist());
Log.d("catalogInjector", "added to exist pl");
} catch (Exception e) {
Log.d("catalogInjector", e.toString());
}
}
if (blocks != null && (!useOldAppVer || noPlaylists)) {
var newBlocks = new JSONArray();
newBlocks
.put(getCatalogHeader())
.put(getCatalogPlaylist())
.put(getCatalogSeparator());
Log.d("VKMusic", "added cache catalog playlist");
for (int i = 0; i < blocks.length(); i++) {
newBlocks.put(blocks.optJSONObject(i));
}
oldItems.optJSONObject(0).put("blocks", newBlocks);
}
}
}
return json;
}
public static JSONObject catalogInjector(JSONObject json) {
try {
var section = json.optJSONObject("section");
var useOldAppVer = getBoolValue("useOldAppVer", false);
var isUsersCatalog = section.optString("url").equals("https://vk.com/audios" + getUserId() + "?section=" + (useOldAppVer ? "all" : "general"));
if (isUsersCatalog && CacheDatabaseDelegate.hasTracks() && !LibVKXClient.isIntegrationEnabled()) {
var blocks = section.getJSONArray("blocks");
var noPlaylists = !json.has("playlists");
// Log.d("catalogInjector", "type: " + blocks.optJSONObject(0).optJSONArray("buttons").optJSONObject(0).optJSONObject("action").optString("type"));
if (noPlaylists) {
json.put("playlists", new JSONArray().put(getPlaylist()));
Log.d("catalogInjector", "added new pl");
} else {
try {
json.optJSONArray("playlists").put(getPlaylist());
Log.d("catalogInjector", "added to exist pl");
} catch (Exception e) {
Log.d("catalogInjector", e.toString());
}
}
if (!useOldAppVer || noPlaylists) {
var newBlocks = new JSONArray();
newBlocks
.put(getCatalogHeader())
.put(getCatalogPlaylist())
.put(getCatalogSeparator());
Log.d("catalogInjector", "added cache catalog playlist");
for (int i = 0; i < blocks.length(); i++) {
newBlocks.put(blocks.optJSONObject(i));
}
section.put("blocks", newBlocks);
} else {
for (int i = 0; i < blocks.length(); i++) {
var j = blocks.optJSONObject(i);
var type = j.optString("data_type");
if (type.equals("music_playlists") && j.has("playlists_ids")) {
var newarr = new JSONArray();
var playlists_ids = j.optJSONArray("playlists_ids");
newarr.put(getUserId() + "_-1");
for (int n = 0; n < playlists_ids.length(); n++) {
newarr.put(playlists_ids.optString(n));
}
Log.d("catalogInjector", "added to pl ids");
j.put("playlists_ids", newarr);
break;
}
}
}
}
} catch (JSONException e) {
Log.d("catalogInjector", e.toString());
}
return json;
}
public static JSONObject musiclink(JSONObject json) {
var links = json.optJSONArray("links");
if (links != null && !getBoolValue("useOldAppVer", false)) {
if (links.optJSONObject(0).optString("url").contains("?section=recent")) {
json.remove("links");
if (dev()) Log.d("VKMusic", "Removed links buttons");
}
}
var section = json.optJSONObject("section");
if (section != null) {
var blocks = section.optJSONArray("blocks");
if (blocks != null) {
for (int i = 0; i < blocks.length(); i++) {
var block = blocks.optJSONObject(i);
var layout = block.optJSONObject("layout");
if (layout != null) {
var name = layout.optString("name");
if (name.equals("header_extended")) {
if (layout.has("top_title")) blocks.remove(i);
try {
layout.put("name", "header");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
}
}
return catalogInjector(json);
}
private static JSONObject fetchCatalogId(String section) {
if (section.isEmpty()) return null;
var request = new Request.a()
.b("https://" + getApi() + "/method/" + "catalog.getAudio"
+ "?v=5.119"
+ "&https=1"
+ "&need_blocks=1"
+ "&lang="
+ getLocale()
+ "&device_id="
+ DeviceIdProvider.d(AndroidUtils.getGlobalContext())
+ "&url="
+ section
+ "&access_token="
+ AccountManagerUtils.getUserToken())
.a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")).a();
try {
return new JSONObject(mClient.a(request).execute().a().g()).getJSONObject("response");
} catch (JSONException | IOException e) {
Log.d("VTLMusic", "Error: " + e.getMessage());
}
return null;
}
}
@@ -1,4 +1,4 @@
package ru.vtosters.lite.feature.music;
package ru.vtosters.lite.music.hook;
import android.content.Context;
@@ -1,4 +1,4 @@
package ru.vtosters.lite.hooks.ui;
package ru.vtosters.lite.music.hook;
import static bruhcollective.itaysonlab.libvkx.client.LibVKXClient.asId;
import static bruhcollective.itaysonlab.libvkx.client.LibVKXClient.getInstance;
@@ -8,9 +8,10 @@ import java.util.Arrays;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class GithubList {
private static final OkHttpClient mClient = new OkHttpClient();
private static final OkHttpClient mClient = VtOkHttpClient.getInstance();
public static ArrayList<String> getProxy(String url, String proxyname) throws IOException {
Request link = new Request.a()
@@ -28,7 +29,7 @@ public class GithubList {
Log.d(proxyname, response);
return new ArrayList<>(Arrays.asList(response.split("\n")));
} catch (Exception e){
} catch (Exception e) {
Log.d(proxyname, "Failed to fetch data, link: " + link);
return null;
@@ -16,10 +16,11 @@ import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class DeepLTranslator extends BaseTranslator {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
private static final Pattern pattern = Pattern.compile("[i]");
private static final String REQUEST_BODY_FORMAT = "{\n" +
" \"method\": \"LMT_handle_texts\",\n" +
@@ -10,10 +10,11 @@ import java.net.URLEncoder;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class GoogleTranslator extends BaseTranslator {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
private static final String[] devices = new String[]{
"Linux; U; Android 10; Pixel 4",
"Linux; U; Android 10; Pixel 4 XL",
@@ -13,10 +13,11 @@ import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class YandexTranslator extends BaseTranslator {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
private static final String uuid = UUID.randomUUID().toString().replace("-", "");
private static YandexTranslator instance;
@@ -67,6 +67,7 @@ public class APKInstallActivity extends AppCompatActivity {
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, getString(R.string.apk_install_error) + " " + e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
@@ -97,8 +97,8 @@ public class ImagineArrayAdapter extends ArrayAdapter<ImagineArrayAdapter.Imagin
.inflate(R.layout.select_dialog_singlechoice_material, parent, false);
// for amoled
var tintList = new ColorStateList(
new int[][] { new int[] { android.R.attr.state_checked }, new int[] { -android.R.attr.state_checked }},
new int[] { ThemesUtils.getAccentColor(), ThemesUtils.getSTextAttr() });
new int[][]{new int[]{android.R.attr.state_checked}, new int[]{-android.R.attr.state_checked}},
new int[]{ThemesUtils.getAccentColor(), ThemesUtils.getSTextAttr()});
TextViewCompat.setCompoundDrawableTintList(checkedTextView, tintList);
checkedTextView.setChecked(position == mSelectedIndex);
container.addView(checkedTextView, LayoutUtils.createLinear(AndroidUtils.dp2px(50.0f), -2));
@@ -32,7 +32,7 @@ public class OTADialog implements OTAUtils.OTAListener {
.setTitle(mActivity.getString(R.string.newversion) + " " + mHelper.getNewVersionName())
.setUpdateInfoView(mHelper.getUpdateDescription())
.setPositiveButton(mActivity.getString(R.string.updateanddownload), () -> {
OTADownloader.downloadBuild(mHelper.getDownloadUrl());
OTADownloader.downloadBuild(mHelper.getDownloadUrl(), mHelper.getCommitSHA());
})
.show();
});
@@ -22,10 +22,11 @@ import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
import ru.vtosters.lite.utils.LifecycleUtils;
public class ServerDialog {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
public static Boolean showAlert;
private static String title;
private static String message;
@@ -28,10 +28,10 @@ public class Start {
(dialogInterface, i) -> edit().putBoolean("showAlert", false).apply()
)
.setNeutralButton(R.string.startbtn1,
(dialogInterface, i) -> {
edit().putBoolean("showAlert", false).apply();
activity.startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/vtosters")));
}
(dialogInterface, i) -> {
edit().putBoolean("showAlert", false).apply();
activity.startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/vtosters")));
}
)
.show();
@@ -132,6 +132,11 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
return super.onPreferenceTreeClick(preference);
}
@Override
public int T4() {
return R.string.vtlfeed;
}
public class openofficialsett implements Preference.OnPreferenceClickListener {
@Override // android.support.v7.preference.Preference.c
public boolean onPreferenceClick(Preference preference) {
@@ -142,9 +147,4 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
return true;
}
}
@Override
public int T4() {
return R.string.vtlfeed;
}
}
@@ -54,15 +54,15 @@ public class InterfaceFragment extends MaterialPreferenceToolbarFragment {
return true;
}
@Override
public int T4() {
return R.string.vtlinterface;
}
public class restart implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
return InterfaceFragment.this.restart(preference);
}
}
@Override
public int T4() {
return R.string.vtlinterface;
}
}
@@ -9,6 +9,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getPreferences;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor;
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr;
@@ -131,6 +132,12 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
findPreference("vkx_sett").setVisible(false);
}
findPreference("musicdefcatalog").setVisible(!getBoolValue("useOldAppVer", false));
findPreference("useOldAppVer").setOnPreferenceClickListener(preference -> {
restartApplicationWithTimer();
return true;
});
findPreference("select_photo_search_engine").setOnPreferenceClickListener(preference -> {
var items = Arrays.asList(
new ImagineArrayAdapter.ImagineArrayAdapterItem(R.drawable.yandex, "Yandex"),
@@ -269,6 +276,11 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
.show();
}
@Override
public int T4() {
return R.string.vtlmedia;
}
private static class restart implements Preference.OnPreferenceChangeListener {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
@@ -285,9 +297,4 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
return true;
}
}
@Override
public int T4() {
return R.string.vtlmedia;
}
}
@@ -41,7 +41,6 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment {
findPreference("vkme_notifs").setOnPreferenceClickListener(new MessagesFragment.restart());
findPreference("systememoji").setOnPreferenceClickListener(new MessagesFragment.restart());
findPreference("wallpapers").setOnPreferenceClickListener(new MessagesFragment.openwp());
findPreference("promotedstickers").setOnPreferenceChangeListener(new clearStickersCache());
findPreference("autotranslate").setEnabled(!autoalltranslate());
@@ -79,7 +78,6 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment {
public boolean onPreferenceTreeClick(Preference preference) {
findPreference("autotranslate").setEnabled(!autoalltranslate());
findPreference("vkme_notifs").setEnabled(vkme());
findPreference("promotedstickers").setOnPreferenceChangeListener(new clearStickersCache());
return super.onPreferenceTreeClick(preference);
}
@@ -88,6 +86,11 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment {
return true;
}
@Override
public int T4() {
return R.string.vtlmessages;
}
public class restart implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -102,16 +105,6 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment {
}
}
public class clearStickersCache implements Preference.OnPreferenceChangeListener {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE);
prefs2.edit().clear().commit();
Stickers.l.c();
return true;
}
}
public class openwp implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -122,9 +115,4 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment {
return true;
}
}
@Override
public int T4() {
return R.string.vtlmessages;
}
}
@@ -65,6 +65,7 @@ import ru.vtosters.lite.utils.ContactsUtils;
public class OtherFragment extends MaterialPreferenceToolbarFragment {
private static final int VK_ADMIN_TOKEN_REQUEST_CODE = 1;
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
@@ -187,7 +188,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
.setNegativeButton(requireContext().getString(R.string.cancel), null)
.setView(rg)
.setPositiveButton(requireContext().getString(R.string.save), (dialog, which) -> {
var sizes = new String[] { "Default", "100mb", "500mb", "1gb", "2gb", "5gb" };
var sizes = new String[]{"Default", "100mb", "500mb", "1gb", "2gb", "5gb"};
var id = rg.getCheckedRadioButtonId();
getDefaultPrefs().edit()
.putInt("autoclearcache_size", id)
@@ -251,7 +252,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
private void delprefs(Context context) {
new VkAlertDialog.Builder(context)
.setTitle(requireContext().getString(R.string.warning))
.setTitle(requireContext().getString(R.string.warning))
.setMessage(requireContext().getString(R.string.settings_reset_confirm))
.setCancelable(false)
.setPositiveButton(requireContext().getString(R.string.yes), (dialogInterface, i) -> {
@@ -262,6 +263,11 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
.show();
}
@Override
public int T4() {
return R.string.vtlother;
}
public static class d implements Preference.OnPreferenceClickListener {
@Override // android.support.v7.preference.Preference.c
public boolean onPreferenceClick(Preference preference) {
@@ -368,9 +374,4 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
return true;
}
}
@Override
public int T4() {
return R.string.vtlother;
}
}
@@ -129,7 +129,7 @@ public class SystemInfo extends MaterialPreferenceToolbarFragment {
addPreferenceCategory(this, "OEM Information");
if (isOneUi){
if (isOneUi) {
addPreference(this, "", "OneUiMajorVersion", oneUiMajorVersion, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", oneUiMajorVersion));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
@@ -161,7 +161,7 @@ public class SystemInfo extends MaterialPreferenceToolbarFragment {
return false;
});
}
} else if (isEMUI){
} else if (isEMUI) {
addPreference(this, "", "emuiVersionCode", emuiVersionCode, 0, preference -> {
((ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", emuiVersionCode));
sendToast(requireContext().getString(R.string.copied_to_clipboard));
@@ -42,6 +42,11 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
}
}
@Override
public int T4() {
return R.string.vtlthemes;
}
public static class restart implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -78,9 +83,4 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
return true;
}
}
@Override
public int T4() {
return R.string.vtlthemes;
}
}
@@ -13,7 +13,6 @@ import static ru.vtosters.lite.utils.AccountManagerUtils.isVKTester;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue;
import static ru.vtosters.lite.utils.AndroidUtils.isTablet;
import static ru.vtosters.lite.utils.CacheUtils.humanReadableByteCountBin;
import static ru.vtosters.lite.utils.GmsUtils.isGmsInstalled;
import static ru.vtosters.lite.utils.ImageUtils.getDrawableFromUrl;
import static ru.vtosters.lite.utils.Preferences.ads;
@@ -38,7 +37,6 @@ import static ru.vtosters.lite.utils.VTVerifications.vtverif;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@@ -69,7 +67,6 @@ import ru.vtosters.lite.ui.components.SuperAppEditorManager;
import ru.vtosters.lite.ui.dialogs.OTADialog;
import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.CacheUtils;
import ru.vtosters.lite.utils.SSFSUtils;
import ru.vtosters.lite.utils.ThemesUtils;
@@ -202,7 +199,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
requireContext().getString(R.string.appearance_theme_use_system),
R.drawable.ic_palette_outline_28, getThemesumm(),
AndroidUtils.getArray("theme_type_name_checkbox"),
new String[] { "system", "dark", "light" },
new String[]{"system", "dark", "light"},
(preference, o) -> {
String value = (String) o;
if (!value.equals("system")) {
@@ -251,7 +248,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
return true;
});
if (dev()) {
if (dev() && isValidSignature()) {
addMaterialSwitchPreference(this, "autoupdates", requireContext().getString(R.string.checkupdates), "", R.drawable.ic_camera_switch_outline_24, true, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("autoupdates", value).commit();
@@ -396,7 +393,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
return false;
});
if(!vkme()){
if (!vkme()) {
if (!isTablet()) {
addPreference(this, "", requireContext().getString(R.string.dockbar_editor), docksumm, R.drawable.ic_list_outline_28, preference -> {
Context context = requireContext();
@@ -417,7 +414,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
}
}
}
addPreference(this, "", requireContext().getString(R.string.vtlactivity), activitysumm, R.drawable.ic_write_outline_28_new_accent, preference -> {
Context context = requireContext();
Intent a2 = new Navigator(ActivityFragment.class).b(context);
@@ -42,7 +42,7 @@ public class DeletedMessagesHandler {
}
public static boolean hook() {
return getBoolValue("undeletemsg", true);
return getBoolValue("undeletemsg", false);
}
public static void setBodyDBParser(Msg msg) {
@@ -25,10 +25,11 @@ import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class ImageUtils {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
public static Bitmap bmp = null;
@@ -12,15 +12,17 @@ import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class OTAUtils {
private static final String LATEST_RELEASE_URL = "https://api.github.com/repositories/473685743/releases/latest";
private static final String LATEST_RELEASE_COMMIT_URL = "https://api.github.com/repositories/473685743/git/ref/tags/%s";
private final OkHttpClient mClient = new OkHttpClient();
private final OkHttpClient mClient = VtOkHttpClient.getInstance();
private final OTAListener mListener;
private JSONObject mReleaseJson;
private JSONObject mCommitJson;
private String mCommitSHA = "";
public OTAUtils(OTAListener listener) {
this.mListener = listener;
@@ -69,9 +71,11 @@ public class OTAUtils {
public void a(Call call, Response response) throws IOException {
try {
mCommitJson = new JSONObject(response.a().g());
mCommitSHA = mCommitJson.getJSONObject("object").getString("sha");
if (isNewVersion())
mListener.onUpdateApplied();
else mListener.onUpdateCanceled();
else
mListener.onUpdateCanceled();
} catch (NullPointerException | JSONException e) {
e.printStackTrace();
mListener.onUpdateCanceled();
@@ -80,10 +84,13 @@ public class OTAUtils {
});
}
public String getCommitSHA() {
return mCommitSHA;
}
public boolean isNewVersion() {
try {
String commitSHA = mCommitJson.getJSONObject("object").getString("sha");
return !commitSHA.startsWith(About.getBuildNumber());
return !mCommitSHA.startsWith(About.getBuildNumber());
} catch (Exception e) {
return false;
}
@@ -2,13 +2,11 @@ package ru.vtosters.lite.utils;
import static java.lang.Long.MAX_VALUE;
import static ru.vtosters.lite.proxy.ProxyUtils.setProxy;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext;
import static ru.vtosters.lite.utils.AndroidUtils.getPreferences;
import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue;
import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters;
import static ru.vtosters.lite.utils.SignatureChecker.validateAppSignature;
import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme;
import static ru.vtosters.lite.utils.VTVerifications.isPrometheus;
import static ru.vtosters.lite.utils.VTVerifications.isVerified;
@@ -104,10 +102,6 @@ public class Preferences {
return getBoolValue("vkme", false);
}
public static boolean adsslider() {
return getBoolValue("__dbg_no_slider_ads", true);
}
public static boolean autocache() {
return getBoolValue("autocache", false);
}
@@ -136,10 +130,6 @@ public class Preferences {
return getBoolValue("awayphp", true);
}
public static boolean musicFixNew() {
return getBoolValue("musicFixNew", true);
}
public static boolean foaf() {
return getBoolValue("foaf", false);
}
@@ -217,10 +207,6 @@ public class Preferences {
return getBoolValue("returnnorifs", false);
}
public static boolean gcmfix() {
return getBoolValue("gcmfix", true) && isValidSignature();
}
public static boolean hasMusicSubscription() {
return getBoolValue("hasMusicSubscription", true);
}
@@ -241,10 +227,6 @@ public class Preferences {
return getBoolValue("offline", false);
}
public static boolean oldabout() {
return getBoolValue("oldabout", false);
}
public static boolean postsrecomm() {
return getBoolValue("postsrecomm", false);
}
@@ -20,10 +20,11 @@ import java.util.HashMap;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
// Jesus cries
public class ProfileHider {
private static final OkHttpClient client = new OkHttpClient();
private static final OkHttpClient client = VtOkHttpClient.getInstance();
public static void injectMap(HashMap<Integer, UserPresenter.a.a> hashMap) {
if (VTVerifications.isServiceAccount(getUserId())) {
@@ -53,7 +54,7 @@ public class ProfileHider {
z2.set(extendedUserProfile, response);
}
} catch (IOException | JSONException | NoSuchFieldException |
IllegalAccessException e) {
IllegalAccessException e) {
e.printStackTrace();
} catch (NullPointerException e) {
Log.e("ProfileHide", "null \"profiles\" node\n" + e);
@@ -180,41 +180,41 @@ public class RenameTool {
.setMessage(R.string.rename_message)
.setView(linearLayout)
.setPositiveButton("OK", (dialog, which) -> {
String firstName = fn.getText().toString();
String lastName = ln.getText().toString();
SQLiteDatabase writableDatabase = getHelper().getWritableDatabase();
try {
if (isChangedName(id)) {
writableDatabase.execSQL(
String.format("UPDATE %s SET %s='%s', %s='%s' WHERE %s='%s'",
TABLE_NAME,
COLUMN_FIRSTNAME, URLEncoder.encode(firstName, "UTF-8"),
COLUMN_LASTNAME, URLEncoder.encode(lastName, "UTF-8"),
COLUMN_VKID, id));
} else {
writableDatabase.execSQL(
String.format("INSERT INTO %s (%s, %s, %s) VALUES (%s, '%s', '%s')",
TABLE_NAME,
COLUMN_VKID, COLUMN_FIRSTNAME, COLUMN_LASTNAME,
id, URLEncoder.encode(firstName, "UTF-8"), URLEncoder.encode(lastName, "UTF-8")));
}
updateRequested = true;
if (id == AccountManagerUtils.getUserId()) {
ctx.sendBroadcast(new Intent("com.vkontakte.android.USER_NAME_CHANGED"));
}
ctx.sendBroadcast(new Intent("com.vkontakte.android.ACTION_PROFILE_UPDATED").putExtra("uid", id));
String firstName = fn.getText().toString();
String lastName = ln.getText().toString();
SQLiteDatabase writableDatabase = getHelper().getWritableDatabase();
try {
if (isChangedName(id)) {
writableDatabase.execSQL(
String.format("UPDATE %s SET %s='%s', %s='%s' WHERE %s='%s'",
TABLE_NAME,
COLUMN_FIRSTNAME, URLEncoder.encode(firstName, "UTF-8"),
COLUMN_LASTNAME, URLEncoder.encode(lastName, "UTF-8"),
COLUMN_VKID, id));
} else {
writableDatabase.execSQL(
String.format("INSERT INTO %s (%s, %s, %s) VALUES (%s, '%s', '%s')",
TABLE_NAME,
COLUMN_VKID, COLUMN_FIRSTNAME, COLUMN_LASTNAME,
id, URLEncoder.encode(firstName, "UTF-8"), URLEncoder.encode(lastName, "UTF-8")));
}
updateRequested = true;
if (id == AccountManagerUtils.getUserId()) {
ctx.sendBroadcast(new Intent("com.vkontakte.android.USER_NAME_CHANGED"));
}
ctx.sendBroadcast(new Intent("com.vkontakte.android.ACTION_PROFILE_UPDATED").putExtra("uid", id));
sendToast(ctx.getString(R.string.rename_success));
} catch (Exception e) {
e.printStackTrace();
sendToast(ctx.getString(R.string.rename_error));
}
sendToast(ctx.getString(R.string.rename_success));
} catch (Exception e) {
e.printStackTrace();
sendToast(ctx.getString(R.string.rename_error));
}
});
if (isChangedName(id))
builder.setNeutralButton(R.string.rename_reset, (dialog, which) -> {
getHelper().getWritableDatabase().execSQL(
String.format(
"DELETE FROM %s WHERE %s='%s'",
"DELETE FROM %s WHERE %s='%s'",
TABLE_NAME,
COLUMN_VKID, id));
if (id == AccountManagerUtils.getUserId()) {
@@ -261,17 +261,17 @@ public class RenameTool {
if (isChangedNameGroup(id)) {
writableDatabase.execSQL(
String.format(
"UPDATE %s SET %s='%s' WHERE %s='%s'",
TABLE_NAME_GROUP,
COLUMN_NAME, URLEncoder.encode(firstName, "UTF-8"),
COLUMN_VKID, id));
"UPDATE %s SET %s='%s' WHERE %s='%s'",
TABLE_NAME_GROUP,
COLUMN_NAME, URLEncoder.encode(firstName, "UTF-8"),
COLUMN_VKID, id));
} else {
writableDatabase.execSQL(
String.format(
"INSERT INTO %s (%s, %s) VALUES (%s, '%s')",
TABLE_NAME_GROUP,
COLUMN_VKID, COLUMN_NAME,
id, URLEncoder.encode(firstName, "UTF-8")));
"INSERT INTO %s (%s, %s) VALUES (%s, '%s')",
TABLE_NAME_GROUP,
COLUMN_VKID, COLUMN_NAME,
id, URLEncoder.encode(firstName, "UTF-8")));
}
updateRequested = true;
sendToast(AndroidUtils.getString(R.string.rename_group_success));
@@ -61,14 +61,14 @@ public class ThemesUtils {
}
} // Apply VKTheme and ImTheme (hard applying without dynamic theme changing)
public static void setSystemModeTheme(int theme) {
AppCompatDelegate.setDefaultNightMode(theme);
}
public static int getSystemModeTheme() {
return AppCompatDelegate.getDefaultNightMode();
}
public static void setSystemModeTheme(int theme) {
AppCompatDelegate.setDefaultNightMode(theme);
}
public static void setTheme(VKTheme theme, Activity activity) {
if (activity == null) {
activity = getCurrentActivity();
@@ -23,13 +23,14 @@ import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
public class VTVerifications {
public static final List<Integer> sVerifications = new ArrayList<>();
public static final List<Integer> sPrometheuses = new ArrayList<>();
public static final List<Integer> sDevelopers = new ArrayList<>();
public static final List<Integer> sServiceAccounts = new ArrayList<>();
private static final OkHttpClient sClient = new OkHttpClient();
private static final OkHttpClient sClient = VtOkHttpClient.getInstance();
public static void load(Context context) {
var prefs = context.getSharedPreferences("vt_another_data", 0);
+1 -1
View File
@@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0'
classpath 'com.android.tools.build:gradle:7.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
-1
View File
@@ -11,7 +11,6 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Fri Jun 03 17:38:03 MSK 2022
org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1536M"
android.useAndroidX=true
android.enableJetifier=true
android.jetifier.ignorelist=classes-dex2jar.jar, classes2-dex2jar.jar, classes3-dex2jar.jar, classes4-dex2jar.jar, classes5-dex2jar.jar, classes6-dex2jar.jar, classes7-dex2jar.jar
+1 -57
View File
@@ -1764,31 +1764,13 @@
android:name="com.google.android.gms.auth.api.signin.RevocationBoundService"
android:exported="true"
android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" />
<provider
android:name="com.google.firebase.perf.provider.FirebasePerfProvider"
android:authorities="com.vtosters.lite.firebaseperfprovider"
android:exported="false"
android:initOrder="101" />
<service
android:name="com.google.firebase.components.ComponentDiscoveryService"
android:directBootAware="true"
android:exported="false">
<meta-data
android:name="com.google.firebase.components:com.google.firebase.perf.FirebasePerfRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.remoteconfig.RemoteConfigRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.iid.Registrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
</service>
<service
android:name="com.google.firebase.messaging.FirebaseMessagingService"
@@ -2044,30 +2026,6 @@
android:exported="false"
android:initOrder="100" />
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
android:enabled="true"
android:exported="false" />
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.INSTALL_PACKAGES">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service
android:name="com.google.android.gms.measurement.AppMeasurementService"
android:enabled="true"
android:exported="false" />
<service
android:name="com.google.android.gms.measurement.AppMeasurementJobService"
android:enabled="true"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE" />
<provider
android:name="com.facebook.internal.FacebookInitProvider"
android:authorities="com.vtosters.lite.FacebookInitProvider"
@@ -2088,21 +2046,7 @@
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<activity
android:name="com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity"
android:enabled="false"
android:exported="false"
android:launchMode="singleInstance"
android:process=":playcore_missing_splits_activity"
android:stateNotNeeded="true" />
<activity
android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity"
android:enabled="false"
android:exported="false"
android:process=":playcore_dialog_wrapper_activity"
android:stateNotNeeded="true"
android:theme="@style/Theme.PlayCore.Transparent" />
<activity
android:name="vigo.sdk.FeedbackActivity"
android:screenOrientation="portrait"
+3 -1
View File
@@ -92,4 +92,6 @@ cкорее подписывайся
напиши Нашему боту
пиши Нашему боту
Подписывайтесь👇
Подписывайся👇
Подписывайся👇
ссылка в комментариях
в комментариях👇
+6 -4
View File
@@ -5382,7 +5382,7 @@
<string name="vtllinkfilter">Фильтр ссылок в источнике</string>
<string name="vtlsourcenamefilter">Фильтр по названию источника</string>
<string name="vtlsfilter">Стандартный фильтр рекламы</string>
<string name="vtlsfiltersummary">Фильтр для блокировки постов с пометкой #реклама и тд</string>
<string name="vtlsfiltersummary">Фильтр для блокировки постов с пометкой #реклама и тд \n\nРекомендуется к включению</string>
<string name="vtlusevkui">Использовать VKUI</string>
<string name="vtlawayphp">Отключить редирект на away.php</string>
<string name="vtlinterfacemsg">Интерфейс</string>
@@ -5391,7 +5391,7 @@
<string name="vtlvoicesummary">Иконка записи голосовых сообщений в поле ввода сообщения</string>
<string name="vtlnavbar">Покрасить панель навигации</string>
<string name="cringecopyright_title">Посты с возможной рекламой</string>
<string name="cringecopyright_summ">Блокировать посты с источником где есть ссылка на VK / Telegram (группу, страницу или посты) или на другие возможные ресурсы</string>
<string name="cringecopyright_summ">Блокировать посты с источником где есть ссылка на VK / Telegram (группу, страницу или посты) или на другие возможные рекламные ресурсы \n\nРекомендуется к включению</string>
<string name="cringerepost_title">Репосты с ссылками</string>
<string name="cringerepost_summ">Блокировать посты с репостом внутри которых есть ссылка на VK / Telegram</string>
<string name="why_news_not_updated_title">Почему не обновляются новости?</string>
@@ -5529,7 +5529,7 @@
<string name="musicdefcatalog_dialogTitle">Выберите раздел по умолчанию</string>
<string name="musicdefcatalog_title">Раздел музыки по умолчанию</string>
<string name="vtl_video_settings">Видео</string>
<string name="vtl_download_video_title">Скачать видео</string>
<string name="vtl_download_video_title">Скачать видео или историю</string>
<string name="videonewcatalog_title">Новый раздел видео</string>
<string name="videonewcatalog_summ">Новый каталог видео раздела с динамическим контентом</string>
<string name="clearvideohistory_title">Очистить историю видео</string>
@@ -6188,7 +6188,7 @@
<string name="added_to_whitelist_success">Группа добавлена в вайтлист</string>
<string name="whitelisted_ad_groups_title">Вайтлист рекламы</string>
<string name="whitelisted_filters_groups_title">Вайтлист фильтров</string>
<string name="whitelisted_filters_groups_title">Вайтлист фильтров и источников</string>
<string name="download_dl">Скачать диалог</string>
<string name="download_dl_error">Произошла ошибка при попытке скачать диалог</string>
@@ -6317,4 +6317,6 @@
<string name="maxquality_title">Максимальное качество</string>
<string name="maxquality_summ">Открывать видео в максимальном качестве через внешний видеоплеер</string>
<string name="promotedstickers_title">Не получать промостикеры</string>
<string name="useOldAppVer_title">Использовать старый дизайн</string>
<string name="useOldAppVer_summ">Работает \"как есть\". Могут быть ошибки</string>
</resources>
+6 -4
View File
@@ -5516,7 +5516,7 @@ Filters are not case-sensitive!"</string>
<string name="vtllinkfilter">Source link filter</string>
<string name="vtlsourcenamefilter">Source name filter</string>
<string name="vtlsfilter">Standard adblock filter</string>
<string name="vtlsfiltersummary">Blocks posts with common tags, such as #ad, #pr and so on</string>
<string name="vtlsfiltersummary">Blocks posts with common tags, such as #ad, #pr and so on \n\nRecommended</string>
<string name="vtlusevkui">Use VKUI</string>
<string name="vtlawayphp">Disable away.php redirect</string>
<string name="vtlinterfacemsg">Interface</string>
@@ -5525,7 +5525,7 @@ Filters are not case-sensitive!"</string>
<string name="vtlvoicesummary">The icon for recording voice messages in the message input field</string>
<string name="vtlnavbar">Color navigation bar</string>
<string name="cringecopyright_title">Posts with possible advertising</string>
<string name="cringecopyright_summ">Block posts with a source where there is a link to VK / Telegram (group, page or posts) or to other possible resources</string>
<string name="cringecopyright_summ">Block posts with a source where there is a link to VK / Telegram (group, page or posts) or to other possible advert resources \n\nRecommended</string>
<string name="cringerepost_title">Reposts with links</string>
<string name="cringerepost_summ">Block posts with repost inside which there is a link to VK / Telegram</string>
<string name="why_news_not_updated_title">Why is the news not updated?</string>
@@ -5663,7 +5663,7 @@ Expand text..."</string>
<string name="musicdefcatalog_dialogTitle">Select default section</string>
<string name="musicdefcatalog_title">Default music section</string>
<string name="vtl_video_settings">Video</string>
<string name="vtl_download_video_title">Download video</string>
<string name="vtl_download_video_title">Download video or story</string>
<string name="videonewcatalog_title">New video catalog</string>
<string name="videonewcatalog_summ">New video catalog with dynamic content</string>
<string name="clearvideohistory_title">Clear video history</string>
@@ -6326,7 +6326,7 @@ May look like a fake leaving the online"</string>
<string name="added_to_whitelist_success">Group added to whitelist</string>
<string name="whitelisted_ad_groups_title">Ads whitelist</string>
<string name="whitelisted_filters_groups_title">Filters whitelist</string>
<string name="whitelisted_filters_groups_title">Filters whitelist and copyrights</string>
<string name="download_dl">Download dialog</string>
<string name="download_dl_error">An error occurred while trying to download the dialog</string>
@@ -6455,4 +6455,6 @@ May look like a fake leaving the online"</string>
<string name="maxquality_title">Maximum quality</string>
<string name="maxquality_summ">Open video in maximum quality through an external video player</string>
<string name="promotedstickers_title">Don\'t receive promoted stickers</string>
<string name="useOldAppVer_title">Use old music catalog</string>
<string name="useOldAppVer_summ">Works \"as is\". There may be errors</string>
</resources>
+1 -1
View File
@@ -9,7 +9,7 @@
android:key="undeletemsg_prefix_value"
android:title="@string/activity_undel_tag" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:defaultValue="false"
android:key="undeletemsg"
android:summary="@string/activity_undel_attachments"
android:title="@string/activity_undel_enable" />
+6 -15
View File
@@ -26,7 +26,7 @@
android:defaultValue="false"
android:key="podcastcatalog"
android:title="@string/podcastcatalog_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
<!-- <com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="vksans"
android:title="@string/debug_experimental_vk_sans_font" />
@@ -40,22 +40,17 @@
android:entries="@array/language"
android:entryValues="@array/lang_value"
android:key="lang_value"
android:title="@string/debug_experimental_language" />
android:title="@string/debug_experimental_language" /> -->
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="useNewSettings"
android:title="@string/useNewSettings_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="promotedstickers"
android:title="@string/promotedstickers_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vk_fix_music_other">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="gcmfix"
android:summary="@string/vk_fix_music_summary"
android:title="@string/vk_fix_music" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="musicFixNew"
android:title="@string/musicFixNew_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="new_music_downloading_way"
@@ -82,10 +77,6 @@
android:key="hasMusicSubscription"
android:summary="@string/debug_developer_has_music_subscription_summary"
android:title="@string/debug_developer_has_music_subscription" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="oldabout"
android:title="@string/debug_developer_old_about" />
<EditTextPreference
android:defaultValue="https://vtsf.vknext.net"
android:key="ssfscustom"
+68 -71
View File
@@ -11,11 +11,6 @@
android:key="adsgroup"
android:summary="@string/vtldgadssummary"
android:title="@string/vtldgads" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="__dbg_no_slider_ads"
android:summary="@string/feed_ads_carousel_summary"
android:title="@string/vtldca" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="adsstories"
@@ -25,67 +20,6 @@
android:key="whitelisted_ad_groups"
android:title="@string/whitelisted_ad_groups_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtlfilters">
<Preference
android:enabled="false"
android:summary="@string/vtlhtmfsummary"
android:title="@string/vtlhtmf" />
<EditTextPreference
android:defaultValue=""
android:key="spamfilters"
android:title="@string/vtlownfilter" />
<EditTextPreference
android:defaultValue=""
android:key="sourcenamefilter"
android:title="@string/vtlsourcenamefilter" />
<EditTextPreference
android:defaultValue=""
android:key="linkfilter"
android:title="@string/vtllinkfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="default_ad_list"
android:summary="@string/vtlsfiltersummary"
android:title="@string/vtlsfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="shortlinkfilter"
android:summary="@string/vtlsfiltershortsummary"
android:title="@string/vtlsfiltershort" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="refsfilter"
android:summary="@string/vtlsfilterrefssummary"
android:title="@string/vtlsfilterrefs" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="shitposting"
android:summary="@string/shitpostingsummary"
android:title="@string/shitposting" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringecopyright"
android:summary="@string/cringecopyright_summ"
android:title="@string/cringecopyright_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringerepost"
android:summary="@string/cringerepost_summ"
android:title="@string/cringerepost_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="copyright_post"
android:summary="@string/feed_ads_sources_summary"
android:title="@string/feed_ads_sources" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="blockminiapps"
android:summary="@string/blockminiapps_summ"
android:title="@string/blockminiapps_title" />
<Preference
android:key="whitelisted_filters_groups"
android:title="@string/whitelisted_filters_groups_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtlrecommend">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
@@ -108,6 +42,64 @@
android:summary="@string/vtlrecommendmarksummary"
android:title="@string/vtlrecommendmark" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtlfilters">
<Preference
android:enabled="false"
android:summary="@string/vtlhtmfsummary"
android:title="@string/vtlhtmf" />
<EditTextPreference
android:defaultValue=""
android:key="spamfilters"
android:title="@string/vtlownfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="default_ad_list"
android:summary="@string/vtlsfiltersummary"
android:title="@string/vtlsfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="shortlinkfilter"
android:summary="@string/vtlsfiltershortsummary"
android:title="@string/vtlsfiltershort" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="refsfilter"
android:summary="@string/vtlsfilterrefssummary"
android:title="@string/vtlsfilterrefs" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="shitposting"
android:summary="@string/shitpostingsummary"
android:title="@string/shitposting" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringerepost"
android:summary="@string/cringerepost_summ"
android:title="@string/cringerepost_title" />
<Preference
android:key="whitelisted_filters_groups"
android:title="@string/whitelisted_filters_groups_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Источники">
<EditTextPreference
android:defaultValue=""
android:key="sourcenamefilter"
android:title="@string/vtlsourcenamefilter" />
<EditTextPreference
android:defaultValue=""
android:key="linkfilter"
android:title="@string/vtllinkfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringecopyright"
android:summary="@string/cringecopyright_summ"
android:title="@string/cringecopyright_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="copyright_post"
android:summary="@string/feed_ads_sources_summary"
android:title="@string/feed_ads_sources" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtlfeedwork">
<Preference
android:key="officialnewssett"
@@ -117,6 +109,11 @@
android:enabled="false"
android:summary="@string/why_news_not_updated_summ"
android:title="@string/why_news_not_updated_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="blockminiapps"
android:summary="@string/blockminiapps_summ"
android:title="@string/blockminiapps_title" />
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="default"
android:dialogTitle="@string/feed_other_update_dialog_title"
@@ -124,11 +121,6 @@
android:entryValues="@array/newsupdate"
android:key="newsupdate"
android:title="@string/feed_other_update" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="feedcache"
android:summary="@string/feed_other_cache_summary"
android:title="@string/vtlfeedcache" />
<Preference
android:key="newsfeedlistmanager"
android:summary="@string/newsfeedlistmanager_summ"
@@ -141,5 +133,10 @@
android:key="force_disable_psm"
android:summary="@string/force_disable_psm_summ"
android:title="@string/force_disable_psm_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="feedcache"
android:summary="@string/feed_other_cache_summary"
android:title="@string/vtlfeedcache" />
</PreferenceCategory>
</PreferenceScreen>
+25 -20
View File
@@ -24,6 +24,31 @@
android:summary="@string/pollresults_summ"
android:title="@string/pollresults_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtl_music_settings">
<Preference
android:key="cached_tracks"
android:title="@string/cached_tracks_title"/>
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="autocache"
android:summary="@string/autocache_summ"
android:title="@string/autocache_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="useOldAppVer"
android:summary="@string/useOldAppVer_summ"
android:title="@string/useOldAppVer_title" />
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="default"
android:dialogTitle="@string/musicdefcatalog_dialogTitle"
android:entries="@array/musicdefcatalog_value"
android:entryValues="@array/musicdefcatalog"
android:key="musicdefcatalog"
android:title="@string/musicdefcatalog_title" />
<Preference
android:key="audio_download"
android:title="@string/audio_download_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/sett_media">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
@@ -47,26 +72,6 @@
android:summary="@string/lastfm_enabled_summ"
android:title="@string/lastfm_enabled_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtl_music_settings">
<Preference
android:key="cached_tracks"
android:title="@string/cached_tracks_title"/>
<Preference
android:key="audio_download"
android:title="@string/audio_download_title"/>
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="autocache"
android:summary="@string/autocache_summ"
android:title="@string/autocache_title" />
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="default"
android:dialogTitle="@string/musicdefcatalog_dialogTitle"
android:entries="@array/musicdefcatalog_value"
android:entryValues="@array/musicdefcatalog"
android:key="musicdefcatalog"
android:title="@string/musicdefcatalog_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtl_video_settings">
<Preference
android:key="download_video"
+4 -4
View File
@@ -63,12 +63,12 @@
android:key="systememoji"
android:summary="@string/systememojisum"
android:title="@string/systememoji" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="promotedstickers"
android:title="@string/promotedstickers_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtlother">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="businessDisabler"
android:title="Отключить Бизнес-Уведомления" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="sendByEnter"
+1 -9
View File
@@ -122,14 +122,6 @@
android:action="android.intent.action.VIEW"
android:data="https://zaborona.help/donate.html" />
</Preference>
<Preference
android:persistent="false"
android:summary="@string/proxydonate"
android:title="xtrafrancyz">
<intent
android:action="android.intent.action.VIEW"
android:data="https://xtrafrancyz.net/donate-vk" />
</Preference>
<Preference
android:persistent="false"
android:summary="Vika Donate"
@@ -147,7 +139,7 @@
android:title="@string/proxyownersxtrsources">
<intent
android:action="android.intent.action.VIEW"
android:data="https://github.com/xtrafrancyz/vk-proxy" />
android:data="https://github.com/vtosters/vk-proxy" />
</Preference>
</PreferenceCategory>
</PreferenceScreen>
-106
View File
@@ -1,106 +0,0 @@
.class public abstract Lb/d/a/d/a/a/a;
.super Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Ljava/lang/String;IIIIJJLandroid/app/PendingIntent;Landroid/app/PendingIntent;)Lb/d/a/d/a/a/a;
.locals 13
new-instance v12, Lb/d/a/d/a/a/n;
move-object v0, v12
move-object v1, p0
move v2, p1
move v3, p2
move/from16 v4, p3
move/from16 v5, p4
move-wide/from16 v6, p5
move-wide/from16 v8, p7
move-object/from16 v10, p9
move-object/from16 v11, p10
invoke-direct/range {v0 .. v11}, Lb/d/a/d/a/a/n;-><init>(Ljava/lang/String;IIIIJJLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
return-object v12
.end method
# virtual methods
.method public abstract a()I
.end method
.method public a(I)Z
.locals 2
const/4 v0, 0x0
const/4 v1, 0x1
if-nez p1, :cond_1
invoke-virtual {p0}, Lb/d/a/d/a/a/a;->f()Landroid/app/PendingIntent;
move-result-object p1
if-eqz p1, :cond_0
return v1
:cond_0
return v0
:cond_1
if-ne p1, v1, :cond_2
invoke-virtual {p0}, Lb/d/a/d/a/a/a;->e()Landroid/app/PendingIntent;
move-result-object p1
if-eqz p1, :cond_2
return v1
:cond_2
return v0
.end method
.method public abstract b()I
.end method
.method public abstract c()J
.end method
.method public abstract d()J
.end method
.method abstract e()Landroid/app/PendingIntent;
.end method
.method abstract f()Landroid/app/PendingIntent;
.end method
.method public abstract g()I
.end method
.method public abstract h()Ljava/lang/String;
.end method
.method public abstract i()I
.end method
-40
View File
@@ -1,40 +0,0 @@
.class public interface abstract Lb/d/a/d/a/a/b;
.super Ljava/lang/Object;
# virtual methods
.method public abstract a()Lcom/google/android/play/core/tasks/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Ljava/lang/Void;",
">;"
}
.end annotation
.end method
.method public abstract a(Lcom/google/android/play/core/install/b;)V
.end method
.method public abstract a(Lb/d/a/d/a/a/a;ILandroid/app/Activity;I)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/IntentSender$SendIntentException;
}
.end annotation
.end method
.method public abstract b()Lcom/google/android/play/core/tasks/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Lb/d/a/d/a/a/a;",
">;"
}
.end annotation
.end method
.method public abstract b(Lcom/google/android/play/core/install/b;)V
.end method
-18
View File
@@ -1,18 +0,0 @@
.class public Lb/d/a/d/a/a/c;
.super Ljava/lang/Object;
# direct methods
.method public static a(Landroid/content/Context;)Lb/d/a/d/a/a/b;
.locals 2
new-instance v0, Lb/d/a/d/a/a/e;
new-instance v1, Lb/d/a/d/a/a/f;
invoke-direct {v1, p0}, Lb/d/a/d/a/a/f;-><init>(Landroid/content/Context;)V
invoke-direct {v0, v1, p0}, Lb/d/a/d/a/a/e;-><init>(Lb/d/a/d/a/a/f;Landroid/content/Context;)V
return-object v0
.end method
-227
View File
@@ -1,227 +0,0 @@
.class public final Lb/d/a/d/a/a/d;
.super Lb/d/a/d/a/b/b;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lb/d/a/d/a/b/b<",
"Lcom/google/android/play/core/install/a;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 3
new-instance v0, Lcom/google/android/play/core/splitcompat/b;
const-string v1, "AppUpdateListenerRegistry"
invoke-direct {v0, v1}, Lcom/google/android/play/core/splitcompat/b;-><init>(Ljava/lang/String;)V
new-instance v1, Landroid/content/IntentFilter;
const-string v2, "com.google.android.play.core.install.ACTION_INSTALL_STATUS"
invoke-direct {v1, v2}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-direct {p0, v0, v1, p1}, Lb/d/a/d/a/b/b;-><init>(Lcom/google/android/play/core/splitcompat/b;Landroid/content/IntentFilter;Landroid/content/Context;)V
return-void
.end method
# virtual methods
.method protected final a(Landroid/content/Context;Landroid/content/Intent;)V
.locals 18
move-object/from16 v0, p0
move-object/from16 v1, p2
invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
const-string v3, "package.name"
invoke-virtual {v1, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
const/4 v4, 0x1
const/4 v5, 0x0
if-nez v2, :cond_0
iget-object v2, v0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v1, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
aput-object v1, v4, v5
const-string v1, "ListenerRegistryBroadcastReceiver received broadcast for third party app: %s"
invoke-virtual {v2, v1, v4}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
return-void
:cond_0
iget-object v2, v0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
new-array v6, v5, [Ljava/lang/Object;
const-string v7, "List of extras in received intent:"
invoke-virtual {v2, v7, v6}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v2
invoke-virtual {v2}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v6
const/4 v7, 0x2
const-string v8, "Key: %s; value: %s"
if-eqz v6, :cond_1
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
iget-object v9, v0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
new-array v7, v7, [Ljava/lang/Object;
aput-object v6, v7, v5
invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v10
invoke-virtual {v10, v6}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
aput-object v6, v7, v4
invoke-virtual {v9, v8, v7}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
goto :goto_0
:cond_1
iget-object v2, v0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
new-array v6, v5, [Ljava/lang/Object;
const-string v9, "List of extras in received intent needed by fromUpdateIntent:"
invoke-virtual {v2, v9, v6}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
new-array v6, v7, [Ljava/lang/Object;
const-string v9, "install.status"
aput-object v9, v6, v5
invoke-virtual {v1, v9, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v10
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
aput-object v10, v6, v4
invoke-virtual {v2, v8, v6}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
new-array v6, v7, [Ljava/lang/Object;
const-string v7, "error.code"
aput-object v7, v6, v5
invoke-virtual {v1, v7, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v10
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
aput-object v10, v6, v4
invoke-virtual {v2, v8, v6}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
invoke-virtual {v1, v9, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v11
const-wide/16 v8, 0x0
const-string v2, "bytes.downloaded"
invoke-virtual {v1, v2, v8, v9}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
move-result-wide v12
const-string v2, "total.bytes.to.download"
invoke-virtual {v1, v2, v8, v9}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
move-result-wide v14
invoke-virtual {v1, v7, v5}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v16
invoke-virtual {v1, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v17
invoke-static/range {v11 .. v17}, Lcom/google/android/play/core/install/a;->a(IJJILjava/lang/String;)Lcom/google/android/play/core/install/a;
move-result-object v1
iget-object v2, v0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
new-array v3, v4, [Ljava/lang/Object;
aput-object v1, v3, v5
const-string v4, "ListenerRegistryBroadcastReceiver.onReceive: %s"
invoke-virtual {v2, v4, v3}, Lcom/google/android/play/core/splitcompat/b;->b(Ljava/lang/String;[Ljava/lang/Object;)I
invoke-virtual {v0, v1}, Lb/d/a/d/a/b/b;->a(Ljava/lang/Object;)V
return-void
.end method
-219
View File
@@ -1,219 +0,0 @@
.class final Lb/d/a/d/a/a/e;
.super Ljava/lang/Object;
# interfaces
.implements Lb/d/a/d/a/a/b;
# instance fields
.field private final a:Lb/d/a/d/a/a/f;
.field private final b:Lb/d/a/d/a/a/d;
.field private final c:Landroid/content/Context;
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Landroid/content/Context;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lb/d/a/d/a/a/e;->a:Lb/d/a/d/a/a/f;
new-instance p1, Lb/d/a/d/a/a/d;
invoke-direct {p1, p2}, Lb/d/a/d/a/a/d;-><init>(Landroid/content/Context;)V
iput-object p1, p0, Lb/d/a/d/a/a/e;->b:Lb/d/a/d/a/a/d;
iput-object p2, p0, Lb/d/a/d/a/a/e;->c:Landroid/content/Context;
return-void
.end method
# virtual methods
.method public final a()Lcom/google/android/play/core/tasks/b;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Ljava/lang/Void;",
">;"
}
.end annotation
iget-object v0, p0, Lb/d/a/d/a/a/e;->a:Lb/d/a/d/a/a/f;
iget-object v1, p0, Lb/d/a/d/a/a/e;->c:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lb/d/a/d/a/a/f;->b(Ljava/lang/String;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
.end method
.method public final declared-synchronized a(Lcom/google/android/play/core/install/b;)V
.locals 1
monitor-enter p0
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/a/e;->b:Lb/d/a/d/a/a/d;
invoke-virtual {v0, p1}, Lb/d/a/d/a/b/b;->a(Lb/d/a/d/a/b/a;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final a(Lb/d/a/d/a/a/a;ILandroid/app/Activity;I)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/IntentSender$SendIntentException;
}
.end annotation
new-instance v0, Lb/d/a/d/a/a/g;
invoke-direct {v0, p3}, Lb/d/a/d/a/a/g;-><init>(Landroid/app/Activity;)V
invoke-virtual {p0, p1, p2, v0, p4}, Lb/d/a/d/a/a/e;->a(Lb/d/a/d/a/a/a;ILcom/google/android/play/core/common/a;I)Z
move-result p1
return p1
.end method
.method public final a(Lb/d/a/d/a/a/a;ILcom/google/android/play/core/common/a;I)Z
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/IntentSender$SendIntentException;
}
.end annotation
invoke-virtual {p1, p2}, Lb/d/a/d/a/a/a;->a(I)Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
const/4 v0, 0x1
if-nez p2, :cond_1
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->f()Landroid/app/PendingIntent;
move-result-object p1
goto :goto_0
:cond_1
if-ne p2, v0, :cond_2
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->e()Landroid/app/PendingIntent;
move-result-object p1
goto :goto_0
:cond_2
const/4 p1, 0x0
:goto_0
invoke-virtual {p1}, Landroid/app/PendingIntent;->getIntentSender()Landroid/content/IntentSender;
move-result-object v2
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
move-object v1, p3
move v3, p4
invoke-interface/range {v1 .. v8}, Lcom/google/android/play/core/common/a;->a(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
return v0
.end method
.method public final b()Lcom/google/android/play/core/tasks/b;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Lb/d/a/d/a/a/a;",
">;"
}
.end annotation
iget-object v0, p0, Lb/d/a/d/a/a/e;->a:Lb/d/a/d/a/a/f;
iget-object v1, p0, Lb/d/a/d/a/a/e;->c:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lb/d/a/d/a/a/f;->a(Ljava/lang/String;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
.end method
.method public final declared-synchronized b(Lcom/google/android/play/core/install/b;)V
.locals 1
monitor-enter p0
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/a/e;->b:Lb/d/a/d/a/a/d;
invoke-virtual {v0, p1}, Lb/d/a/d/a/b/b;->b(Lb/d/a/d/a/b/a;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
-423
View File
@@ -1,423 +0,0 @@
.class final Lb/d/a/d/a/a/f;
.super Ljava/lang/Object;
# static fields
.field private static final d:Lcom/google/android/play/core/splitcompat/b;
.field private static final e:Landroid/content/Intent;
# instance fields
.field final a:Lcom/google/android/play/core/internal/x0;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/play/core/internal/x0<",
"Lcom/google/android/play/core/internal/q0;",
">;"
}
.end annotation
.end field
.field private final b:Ljava/lang/String;
.field private final c:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/google/android/play/core/splitcompat/b;
const-string v1, "AppUpdateService"
invoke-direct {v0, v1}, Lcom/google/android/play/core/splitcompat/b;-><init>(Ljava/lang/String;)V
sput-object v0, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
new-instance v0, Landroid/content/Intent;
const-string v1, "com.google.android.play.core.install.BIND_UPDATE_SERVICE"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const-string v1, "com.android.vending"
invoke-virtual {v0, v1}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
move-result-object v0
sput-object v0, Lb/d/a/d/a/a/f;->e:Landroid/content/Intent;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lb/d/a/d/a/a/f;->b:Ljava/lang/String;
iput-object p1, p0, Lb/d/a/d/a/a/f;->c:Landroid/content/Context;
new-instance v0, Lcom/google/android/play/core/internal/x0;
invoke-static {p1}, Lcom/google/android/play/core/internal/j;->a(Landroid/content/Context;)Landroid/content/Context;
move-result-object v2
sget-object v3, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
sget-object v5, Lb/d/a/d/a/a/f;->e:Landroid/content/Intent;
sget-object v6, Lb/d/a/d/a/a/i;->a:Lcom/google/android/play/core/internal/a1;
const-string v4, "AppUpdateService"
move-object v1, v0
invoke-direct/range {v1 .. v6}, Lcom/google/android/play/core/internal/x0;-><init>(Landroid/content/Context;Lcom/google/android/play/core/splitcompat/b;Ljava/lang/String;Landroid/content/Intent;Lcom/google/android/play/core/internal/a1;)V
iput-object v0, p0, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
return-void
.end method
.method static synthetic a(Landroid/os/Bundle;)I
.locals 0
invoke-static {p0}, Lb/d/a/d/a/a/f;->b(Landroid/os/Bundle;)I
move-result p0
return p0
.end method
.method static synthetic a(Lb/d/a/d/a/a/f;Ljava/lang/String;)Landroid/os/Bundle;
.locals 0
invoke-direct {p0, p1}, Lb/d/a/d/a/a/f;->c(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object p0
return-object p0
.end method
.method static synthetic a(Landroid/os/Bundle;Ljava/lang/String;)Lb/d/a/d/a/a/a;
.locals 0
invoke-static {p0, p1}, Lb/d/a/d/a/a/f;->b(Landroid/os/Bundle;Ljava/lang/String;)Lb/d/a/d/a/a/a;
move-result-object p0
return-object p0
.end method
.method static synthetic a()Lcom/google/android/play/core/splitcompat/b;
.locals 1
sget-object v0, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
return-object v0
.end method
.method static synthetic a(Lb/d/a/d/a/a/f;)Ljava/lang/String;
.locals 0
iget-object p0, p0, Lb/d/a/d/a/a/f;->b:Ljava/lang/String;
return-object p0
.end method
.method private static b(Landroid/os/Bundle;)I
.locals 2
const-string v0, "error.code"
const/4 v1, -0x2
invoke-virtual {p0, v0, v1}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result p0
return p0
.end method
.method static synthetic b()Landroid/os/Bundle;
.locals 1
invoke-static {}, Lb/d/a/d/a/a/f;->c()Landroid/os/Bundle;
move-result-object v0
return-object v0
.end method
.method private static b(Landroid/os/Bundle;Ljava/lang/String;)Lb/d/a/d/a/a/a;
.locals 13
const/4 v0, -0x1
const-string v1, "version.code"
invoke-virtual {p0, v1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result v3
const-string v1, "update.availability"
invoke-virtual {p0, v1}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result v4
const-string v1, "install.status"
const/4 v2, 0x0
invoke-virtual {p0, v1, v2}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result v5
const-string v1, "client.version.staleness"
invoke-virtual {p0, v1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result v6
const-string v0, "bytes.downloaded"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getLong(Ljava/lang/String;)J
move-result-wide v7
const-string v0, "total.bytes.to.download"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getLong(Ljava/lang/String;)J
move-result-wide v9
const-string v0, "blocking.intent"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v0
move-object v11, v0
check-cast v11, Landroid/app/PendingIntent;
const-string v0, "nonblocking.intent"
invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object p0
move-object v12, p0
check-cast v12, Landroid/app/PendingIntent;
move-object v2, p1
invoke-static/range {v2 .. v12}, Lb/d/a/d/a/a/a;->a(Ljava/lang/String;IIIIJJLandroid/app/PendingIntent;Landroid/app/PendingIntent;)Lb/d/a/d/a/a/a;
move-result-object p0
return-object p0
.end method
.method private static c()Landroid/os/Bundle;
.locals 3
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v1, "playcore.version.code"
const/16 v2, 0x296c
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
return-object v0
.end method
.method private final c(Ljava/lang/String;)Landroid/os/Bundle;
.locals 2
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
invoke-static {}, Lb/d/a/d/a/a/f;->c()Landroid/os/Bundle;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/os/Bundle;->putAll(Landroid/os/Bundle;)V
const-string v1, "package.name"
invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
invoke-direct {p0}, Lb/d/a/d/a/a/f;->d()Ljava/lang/Integer;
move-result-object p1
if-eqz p1, :cond_0
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
const-string v1, "app.version.code"
invoke-virtual {v0, v1, p1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
:cond_0
return-object v0
.end method
.method private final d()Ljava/lang/Integer;
.locals 3
const/4 v0, 0x0
:try_start_0
iget-object v1, p0, Lb/d/a/d/a/a/f;->c:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lb/d/a/d/a/a/f;->c:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
invoke-virtual {v2, v1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
iget v1, v1, Landroid/content/pm/PackageInfo;->versionCode:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
sget-object v1, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
new-array v0, v0, [Ljava/lang/Object;
const-string v2, "The current version of the app could not be retrieved"
invoke-virtual {v1, v2, v0}, Lcom/google/android/play/core/splitcompat/b;->d(Ljava/lang/String;[Ljava/lang/Object;)I
const/4 v0, 0x0
return-object v0
.end method
# virtual methods
.method public final a(Ljava/lang/String;)Lcom/google/android/play/core/tasks/b;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/google/android/play/core/tasks/b<",
"Lb/d/a/d/a/a/a;",
">;"
}
.end annotation
sget-object v0, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const-string v2, "requestUpdateInfo(%s)"
invoke-virtual {v0, v2, v1}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
new-instance v0, Lcom/google/android/play/core/tasks/h;
invoke-direct {v0}, Lcom/google/android/play/core/tasks/h;-><init>()V
iget-object v1, p0, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
new-instance v2, Lb/d/a/d/a/a/h;
invoke-direct {v2, p0, v0, p1, v0}, Lb/d/a/d/a/a/h;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;Lcom/google/android/play/core/tasks/h;)V
invoke-virtual {v1, v2}, Lcom/google/android/play/core/internal/x0;->a(Lcom/google/android/play/core/internal/v0;)V
invoke-virtual {v0}, Lcom/google/android/play/core/tasks/h;->a()Lcom/google/android/play/core/tasks/b;
move-result-object p1
return-object p1
.end method
.method public final b(Ljava/lang/String;)Lcom/google/android/play/core/tasks/b;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/google/android/play/core/tasks/b<",
"Ljava/lang/Void;",
">;"
}
.end annotation
sget-object v0, Lb/d/a/d/a/a/f;->d:Lcom/google/android/play/core/splitcompat/b;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const-string v2, "completeUpdate(%s)"
invoke-virtual {v0, v2, v1}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
new-instance v0, Lcom/google/android/play/core/tasks/h;
invoke-direct {v0}, Lcom/google/android/play/core/tasks/h;-><init>()V
iget-object v1, p0, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
new-instance v2, Lb/d/a/d/a/a/k;
invoke-direct {v2, p0, v0, v0, p1}, Lb/d/a/d/a/a/k;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Lcom/google/android/play/core/internal/x0;->a(Lcom/google/android/play/core/internal/v0;)V
invoke-virtual {v0}, Lcom/google/android/play/core/tasks/h;->a()Lcom/google/android/play/core/tasks/b;
move-result-object p1
return-object p1
.end method
-52
View File
@@ -1,52 +0,0 @@
.class final Lb/d/a/d/a/a/g;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/google/android/play/core/common/a;
# instance fields
.field private final synthetic a:Landroid/app/Activity;
# direct methods
.method constructor <init>(Landroid/app/Activity;)V
.locals 0
iput-object p1, p0, Lb/d/a/d/a/a/g;->a:Landroid/app/Activity;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/IntentSender$SendIntentException;
}
.end annotation
iget-object v0, p0, Lb/d/a/d/a/a/g;->a:Landroid/app/Activity;
move-object v1, p1
move v2, p2
move-object v3, p3
move v4, p4
move v5, p5
move v6, p6
move-object v7, p7
invoke-virtual/range {v0 .. v7}, Landroid/app/Activity;->startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
return-void
.end method
-104
View File
@@ -1,104 +0,0 @@
.class final Lb/d/a/d/a/a/h;
.super Lcom/google/android/play/core/internal/v0;
# instance fields
.field private final synthetic b:Ljava/lang/String;
.field private final synthetic c:Lcom/google/android/play/core/tasks/h;
.field private final synthetic d:Lb/d/a/d/a/a/f;
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;Lcom/google/android/play/core/tasks/h;)V
.locals 0
iput-object p1, p0, Lb/d/a/d/a/a/h;->d:Lb/d/a/d/a/a/f;
iput-object p3, p0, Lb/d/a/d/a/a/h;->b:Ljava/lang/String;
iput-object p4, p0, Lb/d/a/d/a/a/h;->c:Lcom/google/android/play/core/tasks/h;
invoke-direct {p0, p2}, Lcom/google/android/play/core/internal/v0;-><init>(Lcom/google/android/play/core/tasks/h;)V
return-void
.end method
# virtual methods
.method protected final a()V
.locals 7
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/a/h;->d:Lb/d/a/d/a/a/f;
iget-object v0, v0, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
invoke-virtual {v0}, Lcom/google/android/play/core/internal/x0;->b()Landroid/os/IInterface;
move-result-object v0
check-cast v0, Lcom/google/android/play/core/internal/q0;
iget-object v1, p0, Lb/d/a/d/a/a/h;->d:Lb/d/a/d/a/a/f;
invoke-static {v1}, Lb/d/a/d/a/a/f;->a(Lb/d/a/d/a/a/f;)Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lb/d/a/d/a/a/h;->d:Lb/d/a/d/a/a/f;
iget-object v3, p0, Lb/d/a/d/a/a/h;->b:Ljava/lang/String;
invoke-static {v2, v3}, Lb/d/a/d/a/a/f;->a(Lb/d/a/d/a/a/f;Ljava/lang/String;)Landroid/os/Bundle;
move-result-object v2
new-instance v3, Lb/d/a/d/a/a/l;
iget-object v4, p0, Lb/d/a/d/a/a/h;->d:Lb/d/a/d/a/a/f;
iget-object v5, p0, Lb/d/a/d/a/a/h;->c:Lcom/google/android/play/core/tasks/h;
iget-object v6, p0, Lb/d/a/d/a/a/h;->b:Ljava/lang/String;
invoke-direct {v3, v4, v5, v6}, Lb/d/a/d/a/a/l;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;)V
invoke-interface {v0, v1, v2, v3}, Lcom/google/android/play/core/internal/q0;->a(Ljava/lang/String;Landroid/os/Bundle;Lcom/google/android/play/core/internal/u0;)V
:try_end_0
.catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception v0
invoke-static {}, Lb/d/a/d/a/a/f;->a()Lcom/google/android/play/core/splitcompat/b;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
iget-object v4, p0, Lb/d/a/d/a/a/h;->b:Ljava/lang/String;
aput-object v4, v2, v3
const-string v3, "requestUpdateInfo(%s)"
invoke-virtual {v1, v0, v3, v2}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)I
iget-object v1, p0, Lb/d/a/d/a/a/h;->c:Lcom/google/android/play/core/tasks/h;
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
invoke-virtual {v1, v2}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Exception;)Z
return-void
.end method
-43
View File
@@ -1,43 +0,0 @@
.class final synthetic Lb/d/a/d/a/a/i;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/google/android/play/core/internal/a1;
# static fields
.field static final a:Lcom/google/android/play/core/internal/a1;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lb/d/a/d/a/a/i;
invoke-direct {v0}, Lb/d/a/d/a/a/i;-><init>()V
sput-object v0, Lb/d/a/d/a/a/i;->a:Lcom/google/android/play/core/internal/a1;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Landroid/os/IBinder;)Ljava/lang/Object;
.locals 0
invoke-static {p1}, Lcom/google/android/play/core/internal/s0;->a(Landroid/os/IBinder;)Lcom/google/android/play/core/internal/q0;
move-result-object p1
return-object p1
.end method
-108
View File
@@ -1,108 +0,0 @@
.class Lb/d/a/d/a/a/j;
.super Lcom/google/android/play/core/internal/t0;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lcom/google/android/play/core/internal/t0;"
}
.end annotation
# instance fields
.field private final a:Lcom/google/android/play/core/splitcompat/b;
.field final b:Lcom/google/android/play/core/tasks/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/play/core/tasks/h<",
"TT;>;"
}
.end annotation
.end field
.field private final synthetic c:Lb/d/a/d/a/a/f;
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/splitcompat/b;Lcom/google/android/play/core/tasks/h;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/play/core/splitcompat/b;",
"Lcom/google/android/play/core/tasks/h<",
"TT;>;)V"
}
.end annotation
iput-object p1, p0, Lb/d/a/d/a/a/j;->c:Lb/d/a/d/a/a/f;
invoke-direct {p0}, Lcom/google/android/play/core/internal/t0;-><init>()V
iput-object p2, p0, Lb/d/a/d/a/a/j;->a:Lcom/google/android/play/core/splitcompat/b;
iput-object p3, p0, Lb/d/a/d/a/a/j;->b:Lcom/google/android/play/core/tasks/h;
return-void
.end method
# virtual methods
.method public b(Landroid/os/Bundle;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object p1, p0, Lb/d/a/d/a/a/j;->c:Lb/d/a/d/a/a/f;
iget-object p1, p1, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
invoke-virtual {p1}, Lcom/google/android/play/core/internal/x0;->a()V
iget-object p1, p0, Lb/d/a/d/a/a/j;->a:Lcom/google/android/play/core/splitcompat/b;
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "onRequestInfo"
invoke-virtual {p1, v1, v0}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
return-void
.end method
.method public d(Landroid/os/Bundle;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
iget-object p1, p0, Lb/d/a/d/a/a/j;->c:Lb/d/a/d/a/a/f;
iget-object p1, p1, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
invoke-virtual {p1}, Lcom/google/android/play/core/internal/x0;->a()V
iget-object p1, p0, Lb/d/a/d/a/a/j;->a:Lcom/google/android/play/core/splitcompat/b;
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "onCompleteUpdate"
invoke-virtual {p1, v1, v0}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
return-void
.end method
-98
View File
@@ -1,98 +0,0 @@
.class final Lb/d/a/d/a/a/k;
.super Lcom/google/android/play/core/internal/v0;
# instance fields
.field private final synthetic b:Lcom/google/android/play/core/tasks/h;
.field private final synthetic c:Ljava/lang/String;
.field private final synthetic d:Lb/d/a/d/a/a/f;
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;)V
.locals 0
iput-object p1, p0, Lb/d/a/d/a/a/k;->d:Lb/d/a/d/a/a/f;
iput-object p3, p0, Lb/d/a/d/a/a/k;->b:Lcom/google/android/play/core/tasks/h;
iput-object p4, p0, Lb/d/a/d/a/a/k;->c:Ljava/lang/String;
invoke-direct {p0, p2}, Lcom/google/android/play/core/internal/v0;-><init>(Lcom/google/android/play/core/tasks/h;)V
return-void
.end method
# virtual methods
.method protected final a()V
.locals 6
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/a/k;->d:Lb/d/a/d/a/a/f;
iget-object v0, v0, Lb/d/a/d/a/a/f;->a:Lcom/google/android/play/core/internal/x0;
invoke-virtual {v0}, Lcom/google/android/play/core/internal/x0;->b()Landroid/os/IInterface;
move-result-object v0
check-cast v0, Lcom/google/android/play/core/internal/q0;
iget-object v1, p0, Lb/d/a/d/a/a/k;->d:Lb/d/a/d/a/a/f;
invoke-static {v1}, Lb/d/a/d/a/a/f;->a(Lb/d/a/d/a/a/f;)Ljava/lang/String;
move-result-object v1
invoke-static {}, Lb/d/a/d/a/a/f;->b()Landroid/os/Bundle;
move-result-object v2
new-instance v3, Lb/d/a/d/a/a/m;
iget-object v4, p0, Lb/d/a/d/a/a/k;->d:Lb/d/a/d/a/a/f;
iget-object v5, p0, Lb/d/a/d/a/a/k;->b:Lcom/google/android/play/core/tasks/h;
invoke-direct {v3, v4, v5}, Lb/d/a/d/a/a/m;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;)V
invoke-interface {v0, v1, v2, v3}, Lcom/google/android/play/core/internal/q0;->b(Ljava/lang/String;Landroid/os/Bundle;Lcom/google/android/play/core/internal/u0;)V
:try_end_0
.catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception v0
invoke-static {}, Lb/d/a/d/a/a/f;->a()Lcom/google/android/play/core/splitcompat/b;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
iget-object v4, p0, Lb/d/a/d/a/a/k;->c:Ljava/lang/String;
aput-object v4, v2, v3
const-string v3, "completeUpdate(%s)"
invoke-virtual {v1, v0, v3, v2}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)I
iget-object v1, p0, Lb/d/a/d/a/a/k;->b:Lcom/google/android/play/core/tasks/h;
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
invoke-virtual {v1, v2}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Exception;)Z
return-void
.end method
-98
View File
@@ -1,98 +0,0 @@
.class final Lb/d/a/d/a/a/l;
.super Lb/d/a/d/a/a/j;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lb/d/a/d/a/a/j<",
"Lb/d/a/d/a/a/a;",
">;"
}
.end annotation
# instance fields
.field private final d:Ljava/lang/String;
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/play/core/tasks/h<",
"Lb/d/a/d/a/a/a;",
">;",
"Ljava/lang/String;",
")V"
}
.end annotation
new-instance v0, Lcom/google/android/play/core/splitcompat/b;
const-string v1, "OnRequestInstallCallback"
invoke-direct {v0, v1}, Lcom/google/android/play/core/splitcompat/b;-><init>(Ljava/lang/String;)V
invoke-direct {p0, p1, v0, p2}, Lb/d/a/d/a/a/j;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/splitcompat/b;Lcom/google/android/play/core/tasks/h;)V
iput-object p3, p0, Lb/d/a/d/a/a/l;->d:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public final b(Landroid/os/Bundle;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-super {p0, p1}, Lb/d/a/d/a/a/j;->b(Landroid/os/Bundle;)V
invoke-static {p1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;)I
move-result v0
if-eqz v0, :cond_0
invoke-static {p1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;)I
move-result v0
const/4 v1, 0x1
if-eq v0, v1, :cond_0
iget-object v0, p0, Lb/d/a/d/a/a/j;->b:Lcom/google/android/play/core/tasks/h;
new-instance v1, Lcom/google/android/play/core/install/InstallException;
invoke-static {p1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;)I
move-result p1
invoke-direct {v1, p1}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-virtual {v0, v1}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Exception;)Z
return-void
:cond_0
iget-object v0, p0, Lb/d/a/d/a/a/j;->b:Lcom/google/android/play/core/tasks/h;
iget-object v1, p0, Lb/d/a/d/a/a/l;->d:Ljava/lang/String;
invoke-static {p1, v1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;Ljava/lang/String;)Lb/d/a/d/a/a/a;
move-result-object p1
invoke-virtual {v0, p1}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Object;)Z
return-void
.end method
-78
View File
@@ -1,78 +0,0 @@
.class final Lb/d/a/d/a/a/m;
.super Lb/d/a/d/a/a/j;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lb/d/a/d/a/a/j<",
"Ljava/lang/Void;",
">;"
}
.end annotation
# direct methods
.method constructor <init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/tasks/h;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/play/core/tasks/h<",
"Ljava/lang/Void;",
">;)V"
}
.end annotation
new-instance v0, Lcom/google/android/play/core/splitcompat/b;
const-string v1, "OnCompleteUpdateCallback"
invoke-direct {v0, v1}, Lcom/google/android/play/core/splitcompat/b;-><init>(Ljava/lang/String;)V
invoke-direct {p0, p1, v0, p2}, Lb/d/a/d/a/a/j;-><init>(Lb/d/a/d/a/a/f;Lcom/google/android/play/core/splitcompat/b;Lcom/google/android/play/core/tasks/h;)V
return-void
.end method
# virtual methods
.method public final d(Landroid/os/Bundle;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-super {p0, p1}, Lb/d/a/d/a/a/j;->d(Landroid/os/Bundle;)V
invoke-static {p1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;)I
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lb/d/a/d/a/a/j;->b:Lcom/google/android/play/core/tasks/h;
new-instance v1, Lcom/google/android/play/core/install/InstallException;
invoke-static {p1}, Lb/d/a/d/a/a/f;->a(Landroid/os/Bundle;)I
move-result p1
invoke-direct {v1, p1}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-virtual {v0, v1}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Exception;)Z
return-void
:cond_0
iget-object p1, p0, Lb/d/a/d/a/a/j;->b:Lcom/google/android/play/core/tasks/h;
const/4 v0, 0x0
invoke-virtual {p1, v0}, Lcom/google/android/play/core/tasks/h;->a(Ljava/lang/Object;)Z
return-void
.end method
-497
View File
@@ -1,497 +0,0 @@
.class final Lb/d/a/d/a/a/n;
.super Lb/d/a/d/a/a/a;
# instance fields
.field private final a:Ljava/lang/String;
.field private final b:I
.field private final c:I
.field private final d:I
.field private final e:I
.field private final f:J
.field private final g:J
.field private final h:Landroid/app/PendingIntent;
.field private final i:Landroid/app/PendingIntent;
# direct methods
.method constructor <init>(Ljava/lang/String;IIIIJJLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
.locals 0
invoke-direct {p0}, Lb/d/a/d/a/a/a;-><init>()V
if-eqz p1, :cond_0
iput-object p1, p0, Lb/d/a/d/a/a/n;->a:Ljava/lang/String;
iput p2, p0, Lb/d/a/d/a/a/n;->b:I
iput p3, p0, Lb/d/a/d/a/a/n;->c:I
iput p4, p0, Lb/d/a/d/a/a/n;->d:I
iput p5, p0, Lb/d/a/d/a/a/n;->e:I
iput-wide p6, p0, Lb/d/a/d/a/a/n;->f:J
iput-wide p8, p0, Lb/d/a/d/a/a/n;->g:J
iput-object p10, p0, Lb/d/a/d/a/a/n;->h:Landroid/app/PendingIntent;
iput-object p11, p0, Lb/d/a/d/a/a/n;->i:Landroid/app/PendingIntent;
return-void
:cond_0
new-instance p1, Ljava/lang/NullPointerException;
const-string p2, "Null packageName"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final a()I
.locals 1
iget v0, p0, Lb/d/a/d/a/a/n;->e:I
return v0
.end method
.method public final b()I
.locals 1
iget v0, p0, Lb/d/a/d/a/a/n;->b:I
return v0
.end method
.method public final c()J
.locals 2
iget-wide v0, p0, Lb/d/a/d/a/a/n;->f:J
return-wide v0
.end method
.method public final d()J
.locals 2
iget-wide v0, p0, Lb/d/a/d/a/a/n;->g:J
return-wide v0
.end method
.method final e()Landroid/app/PendingIntent;
.locals 1
iget-object v0, p0, Lb/d/a/d/a/a/n;->h:Landroid/app/PendingIntent;
return-object v0
.end method
.method public final equals(Ljava/lang/Object;)Z
.locals 7
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
:cond_0
instance-of v1, p1, Lb/d/a/d/a/a/a;
const/4 v2, 0x0
if-eqz v1, :cond_3
check-cast p1, Lb/d/a/d/a/a/a;
iget-object v1, p0, Lb/d/a/d/a/a/n;->a:Ljava/lang/String;
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->h()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3
iget v1, p0, Lb/d/a/d/a/a/n;->b:I
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->b()I
move-result v3
if-ne v1, v3, :cond_3
iget v1, p0, Lb/d/a/d/a/a/n;->c:I
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->i()I
move-result v3
if-ne v1, v3, :cond_3
iget v1, p0, Lb/d/a/d/a/a/n;->d:I
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->g()I
move-result v3
if-ne v1, v3, :cond_3
iget v1, p0, Lb/d/a/d/a/a/n;->e:I
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->a()I
move-result v3
if-ne v1, v3, :cond_3
iget-wide v3, p0, Lb/d/a/d/a/a/n;->f:J
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->c()J
move-result-wide v5
cmp-long v1, v3, v5
if-nez v1, :cond_3
iget-wide v3, p0, Lb/d/a/d/a/a/n;->g:J
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->d()J
move-result-wide v5
cmp-long v1, v3, v5
if-nez v1, :cond_3
iget-object v1, p0, Lb/d/a/d/a/a/n;->h:Landroid/app/PendingIntent;
if-nez v1, :cond_1
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->e()Landroid/app/PendingIntent;
move-result-object v1
if-nez v1, :cond_3
goto :goto_0
:cond_1
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->e()Landroid/app/PendingIntent;
move-result-object v3
invoke-virtual {v1, v3}, Landroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3
:goto_0
iget-object v1, p0, Lb/d/a/d/a/a/n;->i:Landroid/app/PendingIntent;
invoke-virtual {p1}, Lb/d/a/d/a/a/a;->f()Landroid/app/PendingIntent;
move-result-object p1
if-nez v1, :cond_2
if-nez p1, :cond_3
goto :goto_1
:cond_2
invoke-virtual {v1, p1}, Landroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_3
:goto_1
return v0
:cond_3
return v2
.end method
.method final f()Landroid/app/PendingIntent;
.locals 1
iget-object v0, p0, Lb/d/a/d/a/a/n;->i:Landroid/app/PendingIntent;
return-object v0
.end method
.method public final g()I
.locals 1
iget v0, p0, Lb/d/a/d/a/a/n;->d:I
return v0
.end method
.method public final h()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lb/d/a/d/a/a/n;->a:Ljava/lang/String;
return-object v0
.end method
.method public final hashCode()I
.locals 7
iget-object v0, p0, Lb/d/a/d/a/a/n;->a:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
const v1, 0xf4243
xor-int/2addr v0, v1
mul-int v0, v0, v1
iget v2, p0, Lb/d/a/d/a/a/n;->b:I
xor-int/2addr v0, v2
mul-int v0, v0, v1
iget v2, p0, Lb/d/a/d/a/a/n;->c:I
xor-int/2addr v0, v2
mul-int v0, v0, v1
iget v2, p0, Lb/d/a/d/a/a/n;->d:I
xor-int/2addr v0, v2
mul-int v0, v0, v1
iget v2, p0, Lb/d/a/d/a/a/n;->e:I
xor-int/2addr v0, v2
mul-int v0, v0, v1
iget-wide v2, p0, Lb/d/a/d/a/a/n;->f:J
const/16 v4, 0x20
ushr-long v5, v2, v4
xor-long/2addr v2, v5
long-to-int v3, v2
xor-int/2addr v0, v3
mul-int v0, v0, v1
iget-wide v2, p0, Lb/d/a/d/a/a/n;->g:J
ushr-long v4, v2, v4
xor-long/2addr v2, v4
long-to-int v3, v2
xor-int/2addr v0, v3
mul-int v0, v0, v1
iget-object v2, p0, Lb/d/a/d/a/a/n;->h:Landroid/app/PendingIntent;
const/4 v3, 0x0
if-nez v2, :cond_0
const/4 v2, 0x0
goto :goto_0
:cond_0
invoke-virtual {v2}, Landroid/app/PendingIntent;->hashCode()I
move-result v2
:goto_0
xor-int/2addr v0, v2
mul-int v0, v0, v1
iget-object v1, p0, Lb/d/a/d/a/a/n;->i:Landroid/app/PendingIntent;
if-nez v1, :cond_1
goto :goto_1
:cond_1
invoke-virtual {v1}, Landroid/app/PendingIntent;->hashCode()I
move-result v3
:goto_1
xor-int/2addr v0, v3
return v0
.end method
.method public final i()I
.locals 1
iget v0, p0, Lb/d/a/d/a/a/n;->c:I
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 13
iget-object v0, p0, Lb/d/a/d/a/a/n;->a:Ljava/lang/String;
iget v1, p0, Lb/d/a/d/a/a/n;->b:I
iget v2, p0, Lb/d/a/d/a/a/n;->c:I
iget v3, p0, Lb/d/a/d/a/a/n;->d:I
iget v4, p0, Lb/d/a/d/a/a/n;->e:I
iget-wide v5, p0, Lb/d/a/d/a/a/n;->f:J
iget-wide v7, p0, Lb/d/a/d/a/a/n;->g:J
iget-object v9, p0, Lb/d/a/d/a/a/n;->h:Landroid/app/PendingIntent;
invoke-static {v9}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v9
iget-object v10, p0, Lb/d/a/d/a/a/n;->i:Landroid/app/PendingIntent;
invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v10
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v11
invoke-virtual {v11}, Ljava/lang/String;->length()I
move-result v11
add-int/lit16 v11, v11, 0x120
invoke-static {v9}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/String;->length()I
move-result v12
add-int/2addr v11, v12
invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/String;->length()I
move-result v12
add-int/2addr v11, v12
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12, v11}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v11, "AppUpdateInfo{packageName="
invoke-virtual {v12, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", availableVersionCode="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", updateAvailability="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", installStatus="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", clientVersionStalenessDays="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", bytesDownloaded="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ", totalBytesToDownload="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ", immediateUpdateIntent="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", flexibleUpdateIntent="
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "}"
invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
-450
View File
@@ -1,450 +0,0 @@
.class public Lb/d/a/d/a/a/o/a;
.super Ljava/lang/Object;
# interfaces
.implements Lb/d/a/d/a/a/b;
# instance fields
.field private final a:Lb/d/a/d/a/a/d;
.field private final b:Landroid/content/Context;
.field private c:I
.field private d:I
.field private e:Z
.field private f:I
.field private g:I
.field private h:Ljava/lang/Integer;
.field private i:Ljava/lang/Integer;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput v0, p0, Lb/d/a/d/a/a/o/a;->c:I
iput v0, p0, Lb/d/a/d/a/a/o/a;->d:I
iput-boolean v0, p0, Lb/d/a/d/a/a/o/a;->e:Z
iput v0, p0, Lb/d/a/d/a/a/o/a;->f:I
const/4 v0, -0x1
iput v0, p0, Lb/d/a/d/a/a/o/a;->g:I
new-instance v0, Lb/d/a/d/a/a/d;
invoke-direct {v0, p1}, Lb/d/a/d/a/a/d;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lb/d/a/d/a/a/o/a;->a:Lb/d/a/d/a/a/d;
iput-object p1, p0, Lb/d/a/d/a/a/o/a;->b:Landroid/content/Context;
return-void
.end method
.method private final a(Lb/d/a/d/a/a/a;I)Z
.locals 1
invoke-virtual {p1, p2}, Lb/d/a/d/a/a/a;->a(I)Z
move-result p1
const/4 v0, 0x0
if-nez p1, :cond_0
return v0
:cond_0
const/4 p1, 0x1
if-ne p2, p1, :cond_1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
goto :goto_0
:cond_1
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
:goto_0
iput-object p2, p0, Lb/d/a/d/a/a/o/a;->i:Ljava/lang/Integer;
return p1
.end method
.method private final c()I
.locals 2
iget-boolean v0, p0, Lb/d/a/d/a/a/o/a;->e:Z
if-eqz v0, :cond_2
iget v0, p0, Lb/d/a/d/a/a/o/a;->c:I
if-eqz v0, :cond_1
const/4 v1, 0x4
if-eq v0, v1, :cond_1
const/4 v1, 0x5
if-eq v0, v1, :cond_1
const/4 v1, 0x6
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x3
return v0
:cond_1
:goto_0
const/4 v0, 0x2
return v0
:cond_2
const/4 v0, 0x1
return v0
.end method
.method private final d()V
.locals 8
iget-object v0, p0, Lb/d/a/d/a/a/o/a;->a:Lb/d/a/d/a/a/d;
iget v1, p0, Lb/d/a/d/a/a/o/a;->c:I
iget v6, p0, Lb/d/a/d/a/a/o/a;->d:I
iget-object v2, p0, Lb/d/a/d/a/a/o/a;->b:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v7
const-wide/16 v2, 0x0
const-wide/16 v4, 0x0
invoke-static/range {v1 .. v7}, Lcom/google/android/play/core/install/a;->a(IJJILjava/lang/String;)Lcom/google/android/play/core/install/a;
move-result-object v1
invoke-virtual {v0, v1}, Lb/d/a/d/a/b/b;->a(Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public a()Lcom/google/android/play/core/tasks/b;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Ljava/lang/Void;",
">;"
}
.end annotation
iget v0, p0, Lb/d/a/d/a/a/o/a;->d:I
if-eqz v0, :cond_0
const/4 v1, 0x1
if-eq v0, v1, :cond_0
new-instance v1, Lcom/google/android/play/core/install/InstallException;
invoke-direct {v1, v0}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-static {v1}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Exception;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
:cond_0
iget v0, p0, Lb/d/a/d/a/a/o/a;->c:I
const/16 v1, 0xb
const/4 v2, 0x3
if-ne v0, v1, :cond_2
iput v2, p0, Lb/d/a/d/a/a/o/a;->c:I
const/4 v0, 0x0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
iget-object v1, p0, Lb/d/a/d/a/a/o/a;->i:Ljava/lang/Integer;
invoke-virtual {v0, v1}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
invoke-direct {p0}, Lb/d/a/d/a/a/o/a;->d()V
:cond_1
const/4 v0, 0x0
invoke-static {v0}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Object;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
:cond_2
if-ne v0, v2, :cond_3
new-instance v0, Lcom/google/android/play/core/install/InstallException;
const/4 v1, -0x8
invoke-direct {v0, v1}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-static {v0}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Exception;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
:cond_3
new-instance v0, Lcom/google/android/play/core/install/InstallException;
const/4 v1, -0x7
invoke-direct {v0, v1}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-static {v0}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Exception;)Lcom/google/android/play/core/tasks/b;
move-result-object v0
return-object v0
.end method
.method public a(I)V
.locals 1
const/4 v0, 0x1
iput-boolean v0, p0, Lb/d/a/d/a/a/o/a;->e:Z
iput p1, p0, Lb/d/a/d/a/a/o/a;->f:I
return-void
.end method
.method public a(Lcom/google/android/play/core/install/b;)V
.locals 1
iget-object v0, p0, Lb/d/a/d/a/a/o/a;->a:Lb/d/a/d/a/a/d;
invoke-virtual {v0, p1}, Lb/d/a/d/a/b/b;->a(Lb/d/a/d/a/b/a;)V
return-void
.end method
.method public a(Lb/d/a/d/a/a/a;ILandroid/app/Activity;I)Z
.locals 0
invoke-direct {p0, p1, p2}, Lb/d/a/d/a/a/o/a;->a(Lb/d/a/d/a/a/a;I)Z
move-result p1
return p1
.end method
.method public b()Lcom/google/android/play/core/tasks/b;
.locals 17
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/play/core/tasks/b<",
"Lb/d/a/d/a/a/a;",
">;"
}
.end annotation
move-object/from16 v0, p0
iget v1, v0, Lb/d/a/d/a/a/o/a;->d:I
const/4 v2, 0x1
if-eqz v1, :cond_0
if-eq v1, v2, :cond_0
new-instance v2, Lcom/google/android/play/core/install/InstallException;
invoke-direct {v2, v1}, Lcom/google/android/play/core/install/InstallException;-><init>(I)V
invoke-static {v2}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Exception;)Lcom/google/android/play/core/tasks/b;
move-result-object v1
return-object v1
:cond_0
invoke-direct/range {p0 .. p0}, Lb/d/a/d/a/a/o/a;->c()I
move-result v1
const/4 v3, 0x2
const/4 v4, 0x0
const/4 v5, 0x0
if-ne v1, v3, :cond_2
iget v1, v0, Lb/d/a/d/a/a/o/a;->d:I
if-eqz v1, :cond_1
if-ne v1, v2, :cond_2
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
iget-object v6, v0, Lb/d/a/d/a/a/o/a;->h:Ljava/lang/Integer;
invoke-virtual {v1, v6}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
:cond_1
iget-object v1, v0, Lb/d/a/d/a/a/o/a;->b:Landroid/content/Context;
new-instance v6, Landroid/content/Intent;
invoke-direct {v6}, Landroid/content/Intent;-><init>()V
invoke-static {v1, v5, v6, v5}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object v1
move-object/from16 v16, v1
goto :goto_0
:cond_2
move-object/from16 v16, v4
:goto_0
invoke-direct/range {p0 .. p0}, Lb/d/a/d/a/a/o/a;->c()I
move-result v1
if-ne v1, v3, :cond_4
iget v1, v0, Lb/d/a/d/a/a/o/a;->d:I
if-eqz v1, :cond_3
if-ne v1, v2, :cond_4
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
iget-object v2, v0, Lb/d/a/d/a/a/o/a;->h:Ljava/lang/Integer;
invoke-virtual {v1, v2}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
:cond_3
iget-object v1, v0, Lb/d/a/d/a/a/o/a;->b:Landroid/content/Context;
new-instance v2, Landroid/content/Intent;
invoke-direct {v2}, Landroid/content/Intent;-><init>()V
invoke-static {v1, v5, v2, v5}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object v4
:cond_4
move-object v15, v4
iget-object v1, v0, Lb/d/a/d/a/a/o/a;->b:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v6
iget v7, v0, Lb/d/a/d/a/a/o/a;->f:I
invoke-direct/range {p0 .. p0}, Lb/d/a/d/a/a/o/a;->c()I
move-result v8
iget v9, v0, Lb/d/a/d/a/a/o/a;->c:I
iget v10, v0, Lb/d/a/d/a/a/o/a;->g:I
const-wide/16 v11, 0x0
const-wide/16 v13, 0x0
invoke-static/range {v6 .. v16}, Lb/d/a/d/a/a/a;->a(Ljava/lang/String;IIIIJJLandroid/app/PendingIntent;Landroid/app/PendingIntent;)Lb/d/a/d/a/a/a;
move-result-object v1
invoke-static {v1}, Lcom/google/android/play/core/tasks/d;->a(Ljava/lang/Object;)Lcom/google/android/play/core/tasks/b;
move-result-object v1
return-object v1
.end method
.method public b(Lcom/google/android/play/core/install/b;)V
.locals 1
iget-object v0, p0, Lb/d/a/d/a/a/o/a;->a:Lb/d/a/d/a/a/d;
invoke-virtual {v0, p1}, Lb/d/a/d/a/b/b;->b(Lb/d/a/d/a/b/a;)V
return-void
.end method
-23
View File
@@ -1,23 +0,0 @@
.class public interface abstract Lb/d/a/d/a/b/a;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<StateT:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract a(Ljava/lang/Object;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(TStateT;)V"
}
.end annotation
.end method
-310
View File
@@ -1,310 +0,0 @@
.class public abstract Lb/d/a/d/a/b/b;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<StateT:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field protected final a:Lcom/google/android/play/core/splitcompat/b;
.field private final b:Landroid/content/IntentFilter;
.field private final c:Landroid/content/Context;
.field private final d:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lb/d/a/d/a/b/a<",
"TStateT;>;>;"
}
.end annotation
.end field
.field private e:Lb/d/a/d/a/b/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lb/d/a/d/a/b/c;"
}
.end annotation
.end field
.field private volatile f:Z
# direct methods
.method protected constructor <init>(Lcom/google/android/play/core/splitcompat/b;Landroid/content/IntentFilter;Landroid/content/Context;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
const/4 v0, 0x0
iput-object v0, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
const/4 v0, 0x0
iput-boolean v0, p0, Lb/d/a/d/a/b/b;->f:Z
iput-object p1, p0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
iput-object p2, p0, Lb/d/a/d/a/b/b;->b:Landroid/content/IntentFilter;
invoke-static {p3}, Lcom/google/android/play/core/internal/j;->a(Landroid/content/Context;)Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lb/d/a/d/a/b/b;->c:Landroid/content/Context;
return-void
.end method
.method private final a()V
.locals 3
iget-boolean v0, p0, Lb/d/a/d/a/b/b;->f:Z
if-nez v0, :cond_0
iget-object v0, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
:cond_0
iget-object v0, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
if-nez v0, :cond_1
new-instance v0, Lb/d/a/d/a/b/c;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lb/d/a/d/a/b/c;-><init>(Lb/d/a/d/a/b/b;B)V
iput-object v0, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
iget-object v0, p0, Lb/d/a/d/a/b/b;->c:Landroid/content/Context;
iget-object v1, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
iget-object v2, p0, Lb/d/a/d/a/b/b;->b:Landroid/content/IntentFilter;
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
:cond_1
iget-boolean v0, p0, Lb/d/a/d/a/b/b;->f:Z
if-nez v0, :cond_2
iget-object v0, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_2
iget-object v0, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
if-eqz v0, :cond_2
iget-object v1, p0, Lb/d/a/d/a/b/b;->c:Landroid/content/Context;
invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
const/4 v0, 0x0
iput-object v0, p0, Lb/d/a/d/a/b/b;->e:Lb/d/a/d/a/b/c;
:cond_2
return-void
.end method
# virtual methods
.method protected abstract a(Landroid/content/Context;Landroid/content/Intent;)V
.end method
.method public final declared-synchronized a(Lb/d/a/d/a/b/a;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lb/d/a/d/a/b/a<",
"TStateT;>;)V"
}
.end annotation
monitor-enter p0
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
const-string v1, "registerListener"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, v1, v2}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
iget-object v0, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
invoke-direct {p0}, Lb/d/a/d/a/b/b;->a()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized a(Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TStateT;)V"
}
.end annotation
monitor-enter p0
:try_start_0
new-instance v0, Ljava/util/HashSet;
iget-object v1, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
invoke-virtual {v0}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lb/d/a/d/a/b/a;
invoke-interface {v1, p1}, Lb/d/a/d/a/b/a;->a(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:cond_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized a(Z)V
.locals 0
monitor-enter p0
const/4 p1, 0x1
:try_start_0
iput-boolean p1, p0, Lb/d/a/d/a/b/b;->f:Z
invoke-direct {p0}, Lb/d/a/d/a/b/b;->a()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized b(Lb/d/a/d/a/b/a;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lb/d/a/d/a/b/a<",
"TStateT;>;)V"
}
.end annotation
monitor-enter p0
:try_start_0
iget-object v0, p0, Lb/d/a/d/a/b/b;->a:Lcom/google/android/play/core/splitcompat/b;
const-string v1, "unregisterListener"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, v1, v2}, Lcom/google/android/play/core/splitcompat/b;->a(Ljava/lang/String;[Ljava/lang/Object;)I
iget-object v0, p0, Lb/d/a/d/a/b/b;->d:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
invoke-direct {p0}, Lb/d/a/d/a/b/b;->a()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
-38
View File
@@ -1,38 +0,0 @@
.class final Lb/d/a/d/a/b/c;
.super Landroid/content/BroadcastReceiver;
# instance fields
.field private final synthetic a:Lb/d/a/d/a/b/b;
# direct methods
.method private constructor <init>(Lb/d/a/d/a/b/b;)V
.locals 0
iput-object p1, p0, Lb/d/a/d/a/b/c;->a:Lb/d/a/d/a/b/b;
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lb/d/a/d/a/b/b;B)V
.locals 0
invoke-direct {p0, p1}, Lb/d/a/d/a/b/c;-><init>(Lb/d/a/d/a/b/b;)V
return-void
.end method
# virtual methods
.method public final onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 1
iget-object v0, p0, Lb/d/a/d/a/b/c;->a:Lb/d/a/d/a/b/b;
invoke-virtual {v0, p1, p2}, Lb/d/a/d/a/b/b;->a(Landroid/content/Context;Landroid/content/Intent;)V
return-void
.end method
@@ -1,91 +0,0 @@
.class public final Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Info"
.end annotation
# instance fields
.field private final zzq:Ljava/lang/String;
.field private final zzr:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;Z)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzq:Ljava/lang/String;
iput-boolean p2, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzr:Z
return-void
.end method
# virtual methods
.method public final getId()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzq:Ljava/lang/String;
return-object v0
.end method
.method public final isLimitAdTrackingEnabled()Z
.locals 1
iget-boolean v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzr:Z
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 4
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzq:Ljava/lang/String;
iget-boolean v1, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->zzr:Z
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x7
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "{"
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "}"
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -1,117 +0,0 @@
.class final Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;
.super Ljava/lang/Thread;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "a"
.end annotation
# instance fields
.field private a:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;",
">;"
}
.end annotation
.end field
.field private b:J
.field c:Ljava/util/concurrent/CountDownLatch;
.field d:Z
# direct methods
.method public constructor <init>(Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;J)V
.locals 1
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->a:Ljava/lang/ref/WeakReference;
iput-wide p2, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->b:J
new-instance p1, Ljava/util/concurrent/CountDownLatch;
const/4 p2, 0x1
invoke-direct {p1, p2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object p1, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->c:Ljava/util/concurrent/CountDownLatch;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->d:Z
invoke-virtual {p0}, Ljava/lang/Thread;->start()V
return-void
.end method
.method private final b()V
.locals 1
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->a:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;
if-eqz v0, :cond_0
invoke-virtual {v0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;->finish()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->d:Z
:cond_0
return-void
.end method
# virtual methods
.method public final run()V
.locals 4
:try_start_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->c:Ljava/util/concurrent/CountDownLatch;
iget-wide v1, p0, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->b:J
sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, v2, v3}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
move-result v0
if-nez v0, :cond_0
invoke-direct {p0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->b()V
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
:cond_0
return-void
:catch_0
invoke-direct {p0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$a;->b()V
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -1,245 +0,0 @@
.class final Lcom/google/android/gms/ads/identifier/a;
.super Ljava/lang/Thread;
# instance fields
.field private final synthetic a:Ljava/util/Map;
# direct methods
.method constructor <init>(Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;Ljava/util/Map;)V
.locals 0
iput-object p2, p0, Lcom/google/android/gms/ads/identifier/a;->a:Ljava/util/Map;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 6
const-string v0, ". "
new-instance v1, Lcom/google/android/gms/ads/identifier/c;
invoke-direct {v1}, Lcom/google/android/gms/ads/identifier/c;-><init>()V
iget-object v1, p0, Lcom/google/android/gms/ads/identifier/a;->a:Ljava/util/Map;
const-string v2, "https://pagead2.googlesyndication.com/pagead/gen_204?id=gmob-apps"
invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v2
invoke-virtual {v2}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder;
move-result-object v2
invoke-interface {v1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v3
invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_0
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_0
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-interface {v1, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
invoke-virtual {v2, v4, v5}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
goto :goto_0
:cond_0
invoke-virtual {v2}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v1
invoke-virtual {v1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v1
:try_start_0
new-instance v2, Ljava/net/URL;
invoke-direct {v2, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v2
check-cast v2, Ljava/net/HttpURLConnection;
:try_end_0
.catch Ljava/lang/IndexOutOfBoundsException; {:try_start_0 .. :try_end_0} :catch_2
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
:try_start_1
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v3
const/16 v4, 0xc8
if-lt v3, v4, :cond_1
const/16 v4, 0x12c
if-lt v3, v4, :cond_2
:cond_1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
add-int/lit8 v4, v4, 0x41
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5, v4}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v4, "Received non-success response code "
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " from pinging URL: "
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:cond_2
:try_start_2
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->disconnect()V
return-void
:catchall_0
move-exception v3
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->disconnect()V
throw v3
:try_end_2
.catch Ljava/lang/IndexOutOfBoundsException; {:try_start_2 .. :try_end_2} :catch_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
.catch Ljava/lang/RuntimeException; {:try_start_2 .. :try_end_2} :catch_0
:catch_0
move-exception v2
goto :goto_1
:catch_1
move-exception v2
:goto_1
invoke-virtual {v2}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, 0x1b
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
add-int/2addr v3, v4
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v3, "Error while pinging URL: "
:goto_2
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
return-void
:catch_2
move-exception v2
invoke-virtual {v2}, Ljava/lang/IndexOutOfBoundsException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, 0x20
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
add-int/2addr v3, v4
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v3, "Error while parsing ping URL: "
goto :goto_2
.end method
@@ -1,129 +0,0 @@
.class public final Lcom/google/android/gms/ads/identifier/b;
.super Ljava/lang/Object;
# instance fields
.field private a:Landroid/content/SharedPreferences;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
:try_start_0
invoke-static {p1}, Lcom/google/android/gms/common/e;->getRemoteContext(Landroid/content/Context;)Landroid/content/Context;
move-result-object p1
if-nez p1, :cond_0
move-object p1, v0
goto :goto_0
:cond_0
const-string v1, "google_ads_flags"
const/4 v2, 0x0
invoke-virtual {p1, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object p1
:goto_0
iput-object p1, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-void
:catchall_0
iput-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
return-void
.end method
# virtual methods
.method final a(Ljava/lang/String;F)F
.locals 1
const/4 p2, 0x0
:try_start_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
if-nez v0, :cond_0
return p2
:cond_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
invoke-interface {v0, p1, p2}, Landroid/content/SharedPreferences;->getFloat(Ljava/lang/String;F)F
move-result p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return p1
:catchall_0
return p2
.end method
.method final a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 1
:try_start_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
if-nez v0, :cond_0
return-object p2
:cond_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
invoke-interface {v0, p1, p2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-object p1
:catchall_0
return-object p2
.end method
.method public final a(Ljava/lang/String;Z)Z
.locals 1
const/4 p2, 0x0
:try_start_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
if-nez v0, :cond_0
return p2
:cond_0
iget-object v0, p0, Lcom/google/android/gms/ads/identifier/b;->a:Landroid/content/SharedPreferences;
invoke-interface {v0, p1, p2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
move-result p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return p1
:catchall_0
return p2
.end method
@@ -1,12 +0,0 @@
.class public final Lcom/google/android/gms/ads/identifier/c;
.super Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -1,98 +0,0 @@
.class public Lcom/google/android/gms/internal/ads_identifier/zza;
.super Ljava/lang/Object;
# interfaces
.implements Landroid/os/IInterface;
# instance fields
.field private final zza:Landroid/os/IBinder;
.field private final zzb:Ljava/lang/String;
# direct methods
.method protected constructor <init>(Landroid/os/IBinder;Ljava/lang/String;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/android/gms/internal/ads_identifier/zza;->zza:Landroid/os/IBinder;
iput-object p2, p0, Lcom/google/android/gms/internal/ads_identifier/zza;->zzb:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public asBinder()Landroid/os/IBinder;
.locals 1
iget-object v0, p0, Lcom/google/android/gms/internal/ads_identifier/zza;->zza:Landroid/os/IBinder;
return-object v0
.end method
.method protected final obtainAndWriteInterfaceToken()Landroid/os/Parcel;
.locals 2
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
iget-object v1, p0, Lcom/google/android/gms/internal/ads_identifier/zza;->zzb:Ljava/lang/String;
invoke-virtual {v0, v1}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
return-object v0
.end method
.method protected final transactAndReadException(ILandroid/os/Parcel;)Landroid/os/Parcel;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
:try_start_0
iget-object v1, p0, Lcom/google/android/gms/internal/ads_identifier/zza;->zza:Landroid/os/IBinder;
const/4 v2, 0x0
invoke-interface {v1, p1, p2, v0, v2}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
invoke-virtual {v0}, Landroid/os/Parcel;->readException()V
:try_end_0
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {p2}, Landroid/os/Parcel;->recycle()V
return-object v0
:catchall_0
move-exception p1
goto :goto_0
:catch_0
move-exception p1
:try_start_1
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:goto_0
invoke-virtual {p2}, Landroid/os/Parcel;->recycle()V
throw p1
.end method
@@ -1,44 +0,0 @@
.class public Lcom/google/android/gms/internal/ads_identifier/zzb;
.super Landroid/os/Binder;
# interfaces
.implements Landroid/os/IInterface;
# static fields
.field private static zzc:Lcom/google/android/gms/internal/ads_identifier/zzd;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
# virtual methods
.method public asBinder()Landroid/os/IBinder;
.locals 1
new-instance v0, Ljava/lang/NoSuchMethodError;
invoke-direct {v0}, Ljava/lang/NoSuchMethodError;-><init>()V
throw v0
.end method
.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
new-instance p1, Ljava/lang/NoSuchMethodError;
invoke-direct {p1}, Ljava/lang/NoSuchMethodError;-><init>()V
throw p1
.end method
@@ -1,59 +0,0 @@
.class public Lcom/google/android/gms/internal/ads_identifier/zzc;
.super Ljava/lang/Object;
# static fields
.field private static final zzd:Ljava/lang/ClassLoader;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-class v0, Lcom/google/android/gms/internal/ads_identifier/zzc;
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
sput-object v0, Lcom/google/android/gms/internal/ads_identifier/zzc;->zzd:Ljava/lang/ClassLoader;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static zza(Landroid/os/Parcel;Z)V
.locals 0
const/4 p1, 0x1
invoke-virtual {p0, p1}, Landroid/os/Parcel;->writeInt(I)V
return-void
.end method
.method public static zza(Landroid/os/Parcel;)Z
.locals 0
invoke-virtual {p0}, Landroid/os/Parcel;->readInt()I
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
return p0
:cond_0
const/4 p0, 0x0
return p0
.end method
@@ -1,2 +0,0 @@
.class interface abstract Lcom/google/android/gms/internal/ads_identifier/zzd;
.super Ljava/lang/Object;
@@ -1,31 +0,0 @@
.class public interface abstract Lcom/google/android/gms/internal/ads_identifier/zze;
.super Ljava/lang/Object;
# interfaces
.implements Landroid/os/IInterface;
# virtual methods
.method public abstract getId()Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method
.method public abstract zzb(Z)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method
.method public abstract zzc()Z
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method
@@ -1,39 +0,0 @@
.class public abstract Lcom/google/android/gms/internal/ads_identifier/zzf;
.super Lcom/google/android/gms/internal/ads_identifier/zzb;
# interfaces
.implements Lcom/google/android/gms/internal/ads_identifier/zze;
# direct methods
.method public static zza(Landroid/os/IBinder;)Lcom/google/android/gms/internal/ads_identifier/zze;
.locals 2
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
const-string v0, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
invoke-interface {p0, v0}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
move-result-object v0
instance-of v1, v0, Lcom/google/android/gms/internal/ads_identifier/zze;
if-eqz v1, :cond_1
check-cast v0, Lcom/google/android/gms/internal/ads_identifier/zze;
return-object v0
:cond_1
new-instance v0, Lcom/google/android/gms/internal/ads_identifier/zzg;
invoke-direct {v0, p0}, Lcom/google/android/gms/internal/ads_identifier/zzg;-><init>(Landroid/os/IBinder;)V
return-object v0
.end method
@@ -1,104 +0,0 @@
.class public final Lcom/google/android/gms/internal/ads_identifier/zzg;
.super Lcom/google/android/gms/internal/ads_identifier/zza;
# interfaces
.implements Lcom/google/android/gms/internal/ads_identifier/zze;
# direct methods
.method constructor <init>(Landroid/os/IBinder;)V
.locals 1
const-string v0, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
invoke-direct {p0, p1, v0}, Lcom/google/android/gms/internal/ads_identifier/zza;-><init>(Landroid/os/IBinder;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public final getId()Ljava/lang/String;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-virtual {p0}, Lcom/google/android/gms/internal/ads_identifier/zza;->obtainAndWriteInterfaceToken()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {p0, v1, v0}, Lcom/google/android/gms/internal/ads_identifier/zza;->transactAndReadException(ILandroid/os/Parcel;)Landroid/os/Parcel;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Parcel;->readString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
return-object v1
.end method
.method public final zzb(Z)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-virtual {p0}, Lcom/google/android/gms/internal/ads_identifier/zza;->obtainAndWriteInterfaceToken()Landroid/os/Parcel;
move-result-object p1
const/4 v0, 0x1
invoke-static {p1, v0}, Lcom/google/android/gms/internal/ads_identifier/zzc;->zza(Landroid/os/Parcel;Z)V
const/4 v0, 0x2
invoke-virtual {p0, v0, p1}, Lcom/google/android/gms/internal/ads_identifier/zza;->transactAndReadException(ILandroid/os/Parcel;)Landroid/os/Parcel;
move-result-object p1
invoke-static {p1}, Lcom/google/android/gms/internal/ads_identifier/zzc;->zza(Landroid/os/Parcel;)Z
move-result v0
invoke-virtual {p1}, Landroid/os/Parcel;->recycle()V
return v0
.end method
.method public final zzc()Z
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
invoke-virtual {p0}, Lcom/google/android/gms/internal/ads_identifier/zza;->obtainAndWriteInterfaceToken()Landroid/os/Parcel;
move-result-object v0
const/4 v1, 0x6
invoke-virtual {p0, v1, v0}, Lcom/google/android/gms/internal/ads_identifier/zza;->transactAndReadException(ILandroid/os/Parcel;)Landroid/os/Parcel;
move-result-object v0
invoke-static {v0}, Lcom/google/android/gms/internal/ads_identifier/zzc;->zza(Landroid/os/Parcel;)Z
move-result v1
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
return v1
.end method
@@ -1,44 +0,0 @@
.class public final Lcom/google/android/gms/internal/firebase-perf/zza;
.super Landroid/os/Handler;
.source "com.google.firebase:firebase-perf@@19.0.2"
# static fields
.field private static zza:Lcom/google/android/gms/internal/firebase-perf/zzc;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Landroid/os/Handler;-><init>()V
return-void
.end method
.method public constructor <init>(Landroid/os/Looper;)V
.locals 0
.line 2
invoke-direct {p0, p1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-void
.end method
# virtual methods
.method public final dispatchMessage(Landroid/os/Message;)V
.locals 0
.line 1
invoke-super {p0, p1}, Landroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V
return-void
.end method
@@ -1,35 +0,0 @@
.class public final Lcom/google/android/gms/internal/firebase-perf/zzaa;
.super Ljava/lang/Object;
.source "com.google.firebase:firebase-perf@@19.0.2"
# direct methods
.method public static zza(J)I
.locals 3
const-wide/32 v0, 0x7fffffff
cmp-long v2, p0, v0
if-lez v2, :cond_0
const p0, 0x7fffffff
return p0
:cond_0
const-wide/32 v0, -0x80000000
cmp-long v2, p0, v0
if-gez v2, :cond_1
const/high16 p0, -0x80000000
return p0
:cond_1
long-to-int p1, p0
return p1
.end method
@@ -1,149 +0,0 @@
.class final Lcom/google/android/gms/internal/firebase-perf/zzab;
.super Ljava/lang/Object;
.source "com.google.firebase:firebase-perf@@19.0.2"
# instance fields
.field private final zzv:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Lcom/google/android/gms/internal/firebase-perf/zzae;",
"Ljava/util/List<",
"Ljava/lang/Throwable;",
">;>;"
}
.end annotation
.end field
.field private final zzw:Ljava/lang/ref/ReferenceQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
# direct methods
.method constructor <init>()V
.locals 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
const/16 v1, 0x10
const/high16 v2, 0x3f400000 # 0.75f
const/16 v3, 0xa
invoke-direct {v0, v1, v2, v3}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
iput-object v0, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzv:Ljava/util/concurrent/ConcurrentHashMap;
.line 3
new-instance v0, Ljava/lang/ref/ReferenceQueue;
invoke-direct {v0}, Ljava/lang/ref/ReferenceQueue;-><init>()V
iput-object v0, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzw:Ljava/lang/ref/ReferenceQueue;
return-void
.end method
# virtual methods
.method public final zza(Ljava/lang/Throwable;Z)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Throwable;",
"Z)",
"Ljava/util/List<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.line 1
iget-object p2, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzw:Ljava/lang/ref/ReferenceQueue;
invoke-virtual {p2}, Ljava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference;
move-result-object p2
:goto_0
if-eqz p2, :cond_0
.line 2
iget-object v0, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzv:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p2}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object p2, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzw:Ljava/lang/ref/ReferenceQueue;
invoke-virtual {p2}, Ljava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference;
move-result-object p2
goto :goto_0
.line 4
:cond_0
new-instance p2, Lcom/google/android/gms/internal/firebase-perf/zzae;
const/4 v0, 0x0
invoke-direct {p2, p1, v0}, Lcom/google/android/gms/internal/firebase-perf/zzae;-><init>(Ljava/lang/Throwable;Ljava/lang/ref/ReferenceQueue;)V
.line 5
iget-object v0, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzv:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p2}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/util/List;
if-eqz p2, :cond_1
return-object p2
.line 6
:cond_1
new-instance p2, Ljava/util/Vector;
const/4 v0, 0x2
invoke-direct {p2, v0}, Ljava/util/Vector;-><init>(I)V
.line 7
iget-object v0, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzv:Ljava/util/concurrent/ConcurrentHashMap;
new-instance v1, Lcom/google/android/gms/internal/firebase-perf/zzae;
iget-object v2, p0, Lcom/google/android/gms/internal/firebase-perf/zzab;->zzw:Ljava/lang/ref/ReferenceQueue;
invoke-direct {v1, p1, v2}, Lcom/google/android/gms/internal/firebase-perf/zzae;-><init>(Ljava/lang/Throwable;Ljava/lang/ref/ReferenceQueue;)V
invoke-virtual {v0, v1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/List;
if-nez p1, :cond_2
return-object p2
:cond_2
return-object p1
.end method
@@ -1,36 +0,0 @@
.class abstract Lcom/google/android/gms/internal/firebase-perf/zzac;
.super Ljava/lang/Object;
.source "com.google.firebase:firebase-perf@@19.0.2"
# static fields
.field private static final zzx:[Ljava/lang/Throwable;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Throwable;
.line 1
sput-object v0, Lcom/google/android/gms/internal/firebase-perf/zzac;->zzx:[Ljava/lang/Throwable;
return-void
.end method
.method constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract zza(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
.end method

Some files were not shown because too many files have changed in this diff Show More