Move GLRenderer fetching into PcView to avoid race conditions inside Game activity and cache the result

This commit is contained in:
Cameron Gutman
2017-11-20 22:28:19 -08:00
parent 06156c4d68
commit 777129ca90
3 changed files with 85 additions and 33 deletions

View File

@@ -0,0 +1,37 @@
package com.limelight.preferences;
import android.content.Context;
import android.content.SharedPreferences;
public class GlPreferences {
private static final String PREF_NAME = "GlPreferences";
private static final String FINGERPRINT_PREF_STRING = "Fingerprint";
private static final String GL_RENDERER_PREF_STRING = "Renderer";
private SharedPreferences prefs;
public String glRenderer;
public String savedFingerprint;
private GlPreferences(SharedPreferences prefs) {
this.prefs = prefs;
}
public static GlPreferences readPreferences(Context context) {
SharedPreferences prefs = context.getSharedPreferences(PREF_NAME, 0);
GlPreferences glPrefs = new GlPreferences(prefs);
glPrefs.glRenderer = prefs.getString(GL_RENDERER_PREF_STRING, "");
glPrefs.savedFingerprint = prefs.getString(FINGERPRINT_PREF_STRING, "");
return glPrefs;
}
public boolean writePreferences() {
return prefs.edit()
.putString(GL_RENDERER_PREF_STRING, glRenderer)
.putString(FINGERPRINT_PREF_STRING, savedFingerprint)
.commit();
}
}