Loading packages/SystemUI/src/com/android/systemui/plugins/PluginManagerImpl.java +9 −5 Original line number Original line Diff line number Diff line Loading @@ -30,13 +30,13 @@ import android.content.res.Resources; import android.net.Uri; import android.net.Uri; import android.os.Build; import android.os.Build; import android.os.Handler; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Looper; import android.os.SystemProperties; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserHandle; import android.text.TextUtils; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArrayMap; import android.util.ArraySet; import android.util.ArraySet; import android.widget.Toast; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; Loading Loading @@ -166,8 +166,10 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage } } if (!mPluginMap.containsKey(listener)) return; if (!mPluginMap.containsKey(listener)) return; mPluginMap.remove(listener).destroy(); mPluginMap.remove(listener).destroy(); if (mPluginMap.size() == 0) { stopListening(); stopListening(); } } } private void startListening() { private void startListening() { if (mListening) return; if (mListening) return; Loading Loading @@ -237,7 +239,9 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage mContext.getSystemService(NotificationManager.class).notifyAsUser(pkg, mContext.getSystemService(NotificationManager.class).notifyAsUser(pkg, SystemMessage.NOTE_PLUGIN, nb.build(), UserHandle.ALL); SystemMessage.NOTE_PLUGIN, nb.build(), UserHandle.ALL); } } clearClassLoader(pkg); if (clearClassLoader(pkg)) { Toast.makeText(mContext, "Reloading " + pkg, Toast.LENGTH_LONG).show(); } if (!Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { if (!Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { for (PluginInstanceManager manager : mPluginMap.values()) { for (PluginInstanceManager manager : mPluginMap.values()) { manager.onPackageChange(pkg); manager.onPackageChange(pkg); Loading @@ -259,8 +263,8 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage return classLoader; return classLoader; } } private void clearClassLoader(String pkg) { private boolean clearClassLoader(String pkg) { mClassLoaders.remove(pkg); return mClassLoaders.remove(pkg) != null; } } ClassLoader getParentClassLoader() { ClassLoader getParentClassLoader() { Loading Loading
packages/SystemUI/src/com/android/systemui/plugins/PluginManagerImpl.java +9 −5 Original line number Original line Diff line number Diff line Loading @@ -30,13 +30,13 @@ import android.content.res.Resources; import android.net.Uri; import android.net.Uri; import android.os.Build; import android.os.Build; import android.os.Handler; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Looper; import android.os.SystemProperties; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserHandle; import android.text.TextUtils; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArrayMap; import android.util.ArraySet; import android.util.ArraySet; import android.widget.Toast; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; Loading Loading @@ -166,8 +166,10 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage } } if (!mPluginMap.containsKey(listener)) return; if (!mPluginMap.containsKey(listener)) return; mPluginMap.remove(listener).destroy(); mPluginMap.remove(listener).destroy(); if (mPluginMap.size() == 0) { stopListening(); stopListening(); } } } private void startListening() { private void startListening() { if (mListening) return; if (mListening) return; Loading Loading @@ -237,7 +239,9 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage mContext.getSystemService(NotificationManager.class).notifyAsUser(pkg, mContext.getSystemService(NotificationManager.class).notifyAsUser(pkg, SystemMessage.NOTE_PLUGIN, nb.build(), UserHandle.ALL); SystemMessage.NOTE_PLUGIN, nb.build(), UserHandle.ALL); } } clearClassLoader(pkg); if (clearClassLoader(pkg)) { Toast.makeText(mContext, "Reloading " + pkg, Toast.LENGTH_LONG).show(); } if (!Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { if (!Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { for (PluginInstanceManager manager : mPluginMap.values()) { for (PluginInstanceManager manager : mPluginMap.values()) { manager.onPackageChange(pkg); manager.onPackageChange(pkg); Loading @@ -259,8 +263,8 @@ public class PluginManagerImpl extends BroadcastReceiver implements PluginManage return classLoader; return classLoader; } } private void clearClassLoader(String pkg) { private boolean clearClassLoader(String pkg) { mClassLoaders.remove(pkg); return mClassLoaders.remove(pkg) != null; } } ClassLoader getParentClassLoader() { ClassLoader getParentClassLoader() { Loading