Loading services/core/java/com/android/server/TextServicesManagerService.java +22 −4 Original line number Original line Diff line number Diff line Loading @@ -865,6 +865,17 @@ public class TextServicesManagerService extends ITextServicesManager.Stub { } } } } public void onServiceDisconnected() { if (DBG) { Slog.d(TAG, "onServiceDisconnected"); } synchronized(mSpellCheckerMap) { mSpellChecker = null; mConnected = false; } } public void removeListener(ISpellCheckerSessionListener listener) { public void removeListener(ISpellCheckerSessionListener listener) { if (DBG) { if (DBG) { Slog.w(TAG, "remove listener: " + listener.hashCode()); Slog.w(TAG, "remove listener: " + listener.hashCode()); Loading Loading @@ -1019,10 +1030,17 @@ public class TextServicesManagerService extends ITextServicesManager.Stub { @Override @Override public void onServiceDisconnected(ComponentName name) { public void onServiceDisconnected(ComponentName name) { synchronized(mSpellCheckerMap) { synchronized(mSpellCheckerMap) { onServiceDisconnectedInnerLocked(name); } } private void onServiceDisconnectedInnerLocked(ComponentName name) { if (DBG) { Slog.w(TAG, "onServiceDisconnected: " + name); } final SpellCheckerBindGroup group = mSpellCheckerBindGroups.get(mSciId); final SpellCheckerBindGroup group = mSpellCheckerBindGroups.get(mSciId); if (group != null && this == group.mInternalConnection) { if (group != null && this == group.mInternalConnection) { mSpellCheckerBindGroups.remove(mSciId); group.onServiceDisconnected(); } } } } } } } Loading Loading
services/core/java/com/android/server/TextServicesManagerService.java +22 −4 Original line number Original line Diff line number Diff line Loading @@ -865,6 +865,17 @@ public class TextServicesManagerService extends ITextServicesManager.Stub { } } } } public void onServiceDisconnected() { if (DBG) { Slog.d(TAG, "onServiceDisconnected"); } synchronized(mSpellCheckerMap) { mSpellChecker = null; mConnected = false; } } public void removeListener(ISpellCheckerSessionListener listener) { public void removeListener(ISpellCheckerSessionListener listener) { if (DBG) { if (DBG) { Slog.w(TAG, "remove listener: " + listener.hashCode()); Slog.w(TAG, "remove listener: " + listener.hashCode()); Loading Loading @@ -1019,10 +1030,17 @@ public class TextServicesManagerService extends ITextServicesManager.Stub { @Override @Override public void onServiceDisconnected(ComponentName name) { public void onServiceDisconnected(ComponentName name) { synchronized(mSpellCheckerMap) { synchronized(mSpellCheckerMap) { onServiceDisconnectedInnerLocked(name); } } private void onServiceDisconnectedInnerLocked(ComponentName name) { if (DBG) { Slog.w(TAG, "onServiceDisconnected: " + name); } final SpellCheckerBindGroup group = mSpellCheckerBindGroups.get(mSciId); final SpellCheckerBindGroup group = mSpellCheckerBindGroups.get(mSciId); if (group != null && this == group.mInternalConnection) { if (group != null && this == group.mInternalConnection) { mSpellCheckerBindGroups.remove(mSciId); group.onServiceDisconnected(); } } } } } } } Loading