Loading packages/services/PacProcessor/src/com/android/pacprocessor/PacNative.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,8 @@ import android.util.Log; public class PacNative { public class PacNative { private static final String TAG = "PacProxy"; private static final String TAG = "PacProxy"; private static final PacNative sInstance = new PacNative(); private String mCurrentPac; private String mCurrentPac; private boolean mIsActive; private boolean mIsActive; Loading @@ -39,8 +41,12 @@ public class PacNative { System.loadLibrary("jni_pacprocessor"); System.loadLibrary("jni_pacprocessor"); } } PacNative() { private PacNative() { } public static PacNative getInstance() { return sInstance; } } public synchronized boolean startPacSupport() { public synchronized boolean startPacSupport() { Loading packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java +7 −31 Original line number Original line Diff line number Diff line Loading @@ -31,43 +31,27 @@ import java.net.URL; public class PacService extends Service { public class PacService extends Service { private static final String TAG = "PacService"; private static final String TAG = "PacService"; private PacNative mPacNative; private PacNative mPacNative = PacNative.getInstance(); private ProxyServiceStub mStub; private ProxyServiceStub mStub = new ProxyServiceStub(); @Override @Override public void onCreate() { public void onCreate() { super.onCreate(); super.onCreate(); if (mPacNative == null) { mPacNative.startPacSupport(); mPacNative = new PacNative(); mStub = new ProxyServiceStub(mPacNative); } } } @Override @Override public void onDestroy() { public void onDestroy() { super.onDestroy(); if (mPacNative != null) { mPacNative.stopPacSupport(); mPacNative.stopPacSupport(); mPacNative = null; super.onDestroy(); mStub = null; } } } @Override @Override public IBinder onBind(Intent intent) { public IBinder onBind(Intent intent) { if (mPacNative == null) { mPacNative = new PacNative(); mStub = new ProxyServiceStub(mPacNative); } return mStub; return mStub; } } private static class ProxyServiceStub extends IProxyService.Stub { private class ProxyServiceStub extends IProxyService.Stub { private final PacNative mPacNative; public ProxyServiceStub(PacNative pacNative) { mPacNative = pacNative; } @Override @Override public String resolvePacFile(String host, String url) throws RemoteException { public String resolvePacFile(String host, String url) throws RemoteException { Loading Loading @@ -102,20 +86,12 @@ public class PacService extends Service { @Override @Override public void startPacSystem() throws RemoteException { public void startPacSystem() throws RemoteException { if (Binder.getCallingUid() != Process.SYSTEM_UID) { //TODO: remove Log.e(TAG, "Only system user is allowed to call startPacSystem"); throw new SecurityException(); } mPacNative.startPacSupport(); } } @Override @Override public void stopPacSystem() throws RemoteException { public void stopPacSystem() throws RemoteException { if (Binder.getCallingUid() != Process.SYSTEM_UID) { //TODO: remove Log.e(TAG, "Only system user is allowed to call stopPacSystem"); throw new SecurityException(); } mPacNative.stopPacSupport(); } } } } } } Loading
packages/services/PacProcessor/src/com/android/pacprocessor/PacNative.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,8 @@ import android.util.Log; public class PacNative { public class PacNative { private static final String TAG = "PacProxy"; private static final String TAG = "PacProxy"; private static final PacNative sInstance = new PacNative(); private String mCurrentPac; private String mCurrentPac; private boolean mIsActive; private boolean mIsActive; Loading @@ -39,8 +41,12 @@ public class PacNative { System.loadLibrary("jni_pacprocessor"); System.loadLibrary("jni_pacprocessor"); } } PacNative() { private PacNative() { } public static PacNative getInstance() { return sInstance; } } public synchronized boolean startPacSupport() { public synchronized boolean startPacSupport() { Loading
packages/services/PacProcessor/src/com/android/pacprocessor/PacService.java +7 −31 Original line number Original line Diff line number Diff line Loading @@ -31,43 +31,27 @@ import java.net.URL; public class PacService extends Service { public class PacService extends Service { private static final String TAG = "PacService"; private static final String TAG = "PacService"; private PacNative mPacNative; private PacNative mPacNative = PacNative.getInstance(); private ProxyServiceStub mStub; private ProxyServiceStub mStub = new ProxyServiceStub(); @Override @Override public void onCreate() { public void onCreate() { super.onCreate(); super.onCreate(); if (mPacNative == null) { mPacNative.startPacSupport(); mPacNative = new PacNative(); mStub = new ProxyServiceStub(mPacNative); } } } @Override @Override public void onDestroy() { public void onDestroy() { super.onDestroy(); if (mPacNative != null) { mPacNative.stopPacSupport(); mPacNative.stopPacSupport(); mPacNative = null; super.onDestroy(); mStub = null; } } } @Override @Override public IBinder onBind(Intent intent) { public IBinder onBind(Intent intent) { if (mPacNative == null) { mPacNative = new PacNative(); mStub = new ProxyServiceStub(mPacNative); } return mStub; return mStub; } } private static class ProxyServiceStub extends IProxyService.Stub { private class ProxyServiceStub extends IProxyService.Stub { private final PacNative mPacNative; public ProxyServiceStub(PacNative pacNative) { mPacNative = pacNative; } @Override @Override public String resolvePacFile(String host, String url) throws RemoteException { public String resolvePacFile(String host, String url) throws RemoteException { Loading Loading @@ -102,20 +86,12 @@ public class PacService extends Service { @Override @Override public void startPacSystem() throws RemoteException { public void startPacSystem() throws RemoteException { if (Binder.getCallingUid() != Process.SYSTEM_UID) { //TODO: remove Log.e(TAG, "Only system user is allowed to call startPacSystem"); throw new SecurityException(); } mPacNative.startPacSupport(); } } @Override @Override public void stopPacSystem() throws RemoteException { public void stopPacSystem() throws RemoteException { if (Binder.getCallingUid() != Process.SYSTEM_UID) { //TODO: remove Log.e(TAG, "Only system user is allowed to call stopPacSystem"); throw new SecurityException(); } mPacNative.stopPacSupport(); } } } } } }