Compare commits
46
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
501e39429b | ||
|
|
604d19cc40 | ||
|
|
a29e0dcf4b | ||
|
|
ec551dcb33 | ||
|
|
cc4690965a | ||
|
|
65f32d3686 | ||
|
|
bf15bb93ee | ||
|
|
cb3c537f1d | ||
|
|
bb0c845e74 | ||
|
|
a4c88d0924 | ||
|
|
7f0b6c3c3d | ||
|
|
31eedf4d6d | ||
|
|
bf23cc7305 | ||
|
|
6bef2f1ea9 | ||
|
|
e561356690 | ||
|
|
64d6e4b529 | ||
|
|
34d067d192 | ||
|
|
c50511a12f | ||
|
|
0b748c16e4 | ||
|
|
f88dd17480 | ||
|
|
892e9874cb | ||
|
|
82a24e4abf | ||
|
|
2631757a05 | ||
|
|
b2f7754ec9 | ||
|
|
2175800f33 | ||
|
|
ab16fdcecb | ||
|
|
a34cad6837 | ||
|
|
34b2357a20 | ||
|
|
e47d6acbf1 | ||
|
|
a5bd532570 | ||
|
|
e4124f459f | ||
|
|
03328137df | ||
|
|
906036854c | ||
|
|
1dad82d61c | ||
|
|
0d9f8360ce | ||
|
|
5dc5f001f2 | ||
|
|
b6d26515ce | ||
|
|
f02971e00d | ||
|
|
827bb9d9ce | ||
|
|
4a5a6b58e1 | ||
|
|
fa2a1b083d | ||
|
|
d372b670c0 | ||
|
|
86afcaeacb | ||
|
|
027c7a7151 | ||
|
|
7f304950a8 | ||
|
|
fc44a9b263 |
@@ -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;
|
||||
|
||||
+1
-2
@@ -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));
|
||||
|
||||
+61
-66
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package ru.vtosters.lite.feature.music;
|
||||
package ru.vtosters.lite.music.hook;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
+1
-1
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -92,4 +92,6 @@ cкорее подписывайся
|
||||
напиши Нашему боту
|
||||
пиши Нашему боту
|
||||
Подписывайтесь👇
|
||||
Подписывайся👇
|
||||
Подписывайся👇
|
||||
ссылка в комментариях
|
||||
в комментариях👇
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
Reference in New Issue
Block a user