From 096ae9df45dfab1952aa4d25ca4ab603fc7ba3da Mon Sep 17 00:00:00 2001 From: Tom Vincent Date: Sat, 18 Feb 2017 11:08:50 +0000 Subject: [PATCH] Add unifiednlp patch Source: https://github.com/Lanchon/haystack/issues/3#issuecomment-275887254 --- .../services.jar/ServiceWatcher.java | 80 ++++++++++++++++++ patches/unifiednlp-7.0/services.jar.dex | Bin 0 -> 4940 bytes 2 files changed, 80 insertions(+) create mode 100644 patches-src/unifiednlp-7.0/services.jar/ServiceWatcher.java create mode 100644 patches/unifiednlp-7.0/services.jar.dex diff --git a/patches-src/unifiednlp-7.0/services.jar/ServiceWatcher.java b/patches-src/unifiednlp-7.0/services.jar/ServiceWatcher.java new file mode 100644 index 0000000..d39dba3 --- /dev/null +++ b/patches-src/unifiednlp-7.0/services.jar/ServiceWatcher.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2015 Marvin W + * Copyright (C) 2016 Lanchon + * + * This is Marvin's work converted to DexPatcher patches by Lanchon. + * + * https://gerrit.omnirom.org/#/c/14898/ + * https://gerrit.omnirom.org/#/c/14899/ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server; + +//import android.annotation.Nullable; +//import android.content.BroadcastReceiver; +//import android.content.ComponentName; +import android.content.Context; +//import android.content.Intent; +//import android.content.IntentFilter; +//import android.content.ServiceConnection; +//import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +//import android.content.pm.ResolveInfo; +import android.content.pm.Signature; +//import android.content.res.Resources; +//import android.os.Handler; +//import android.os.IBinder; +//import android.os.UserHandle; +import android.util.Log; +//import android.util.Slog; + +//import com.android.internal.annotations.GuardedBy; +//import com.android.internal.content.PackageMonitor; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +//import java.util.Objects; + +import lanchon.dexpatcher.annotation.*; + +@DexEdit(onlyEditMembers = true) +public class ServiceWatcher /* implements ServiceConnection */ { + + @DexReplace + public static ArrayList> getSignatureSets(Context context, + List initialPackageNames) { + PackageManager pm = context.getPackageManager(); + ArrayList> sigSets = new ArrayList>(); + for (int i = 0, size = initialPackageNames.size(); i < size; i++) { + String pkg = initialPackageNames.get(i); + try { + HashSet set = new HashSet(); + Signature[] sigs = pm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES).signatures; + set.addAll(Arrays.asList(sigs)); + sigSets.add(set); + } catch (NameNotFoundException e) { + Log.w("ServiceWatcher", pkg + " not found"); + } + } + return sigSets; + } + + @DexIgnore + private ServiceWatcher() { throw null; } + +} diff --git a/patches/unifiednlp-7.0/services.jar.dex b/patches/unifiednlp-7.0/services.jar.dex new file mode 100644 index 0000000000000000000000000000000000000000..c613fd6d973198f13a4e945f86f8180c37146e3f GIT binary patch literal 4940 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 L^WevJ{!i>b{J3PU literal 0 HcmV?d00001