Remove KeyboardSwitcher reference from ResearchLogger

Change-Id: I671a83c19977fda358c8e8a730e22ee155f65512
main
Tadashi G. Takaoka 2012-08-21 15:11:02 +09:00
parent eb59a87a07
commit c3f78c9057
3 changed files with 24 additions and 15 deletions

View File

@ -528,7 +528,17 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
// to properly show the splash screen, which requires that the window token of the
// KeyboardView be non-null.
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.getInstance().mainKeyboardView_onAttachedToWindow();
ResearchLogger.getInstance().mainKeyboardView_onAttachedToWindow(this);
}
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
// Notify the research logger that the keyboard view has been detached. This is needed
// to invalidate the reference of {@link MainKeyboardView} to null.
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.getInstance().mainKeyboardView_onDetachedFromWindow();
}
}

View File

@ -361,7 +361,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mPrefs = prefs;
LatinImeLogger.init(this, prefs);
if (ProductionFlag.IS_EXPERIMENTAL) {
ResearchLogger.getInstance().init(this, prefs, mKeyboardSwitcher);
ResearchLogger.getInstance().init(this, prefs);
}
InputMethodManagerCompatWrapper.init(this);
SubtypeSwitcher.init(this);

View File

@ -54,7 +54,6 @@ import android.widget.Toast;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.keyboard.KeyboardView;
import com.android.inputmethod.keyboard.MainKeyboardView;
import com.android.inputmethod.latin.CollectionUtils;
@ -138,7 +137,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
// used to check whether words are not unique
private Suggest mSuggest;
private Dictionary mDictionary;
private KeyboardSwitcher mKeyboardSwitcher;
private MainKeyboardView mMainKeyboardView;
private InputMethodService mInputMethodService;
private final Statistics mStatistics;
@ -152,8 +151,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
return sInstance;
}
public void init(final InputMethodService ims, final SharedPreferences prefs,
KeyboardSwitcher keyboardSwitcher) {
public void init(final InputMethodService ims, final SharedPreferences prefs) {
assert ims != null;
if (ims == null) {
Log.w(TAG, "IMS is null; logging is off");
@ -185,7 +183,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
}
mResearchLogUploader = new ResearchLogUploader(ims, mFilesDir);
mResearchLogUploader.start();
mKeyboardSwitcher = keyboardSwitcher;
mInputMethodService = ims;
mPrefs = prefs;
}
@ -199,10 +196,15 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
}
}
public void mainKeyboardView_onAttachedToWindow() {
public void mainKeyboardView_onAttachedToWindow(final MainKeyboardView mainKeyboardView) {
mMainKeyboardView = mainKeyboardView;
maybeShowSplashScreen();
}
public void mainKeyboardView_onDetachedFromWindow() {
mMainKeyboardView = null;
}
private boolean hasSeenSplash() {
return mPrefs.getBoolean(PREF_RESEARCH_HAS_SEEN_SPLASH, false);
}
@ -216,7 +218,8 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
if (mSplashDialog != null && mSplashDialog.isShowing()) {
return;
}
final IBinder windowToken = mKeyboardSwitcher.getMainKeyboardView().getWindowToken();
final IBinder windowToken = mMainKeyboardView != null
? mMainKeyboardView.getWindowToken() : null;
if (windowToken == null) {
return;
}
@ -593,14 +596,10 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
if (!IS_SHOWING_INDICATOR) {
return;
}
if (mKeyboardSwitcher == null) {
if (mMainKeyboardView == null) {
return;
}
final KeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
if (mainKeyboardView == null) {
return;
}
mainKeyboardView.invalidateAllKeys();
mMainKeyboardView.invalidateAllKeys();
}