Я создал класс для обработки важных изменений данных, таких как статус покупки приложений и другие вещи.
Для этой цели я создал класс, который выполняет настройку и чтение значений. но проблема возникает всякий раз, когда я вызываю метод appIsPurchased(), результат является истинным, пока он не был изменен с момента установки приложения и его первого начального запуска.
Это мой код:
/**
 * Created by neemasa on 5/29/14.
 * This class handles more crucial data values within app.
 */
public class AppCore {
    private SharedPreferences settings;
    private String keyPurchase = "app_purchased";
    private Context context;
    public AppCore(Context context){
        this.context = context;
        settings = PreferenceManager.getDefaultSharedPreferences(context);
    }
    public void setAppInPurchasedMode(String status){
        if (status.equals("successful")){
            settings.edit().putBoolean(keyPurchase, true).commit();
        }else if (status.equals("failed")){
            settings.edit().putBoolean(keyPurchase, false).commit();
        }
    }
    public boolean appIsPurchased(){
        boolean purchased = false;
        if (settings.getBoolean(keyPurchase,true)){
            purchased = true;
        }
        return purchased;
    }
}
Вопрос 1: что-то не так с моим кодом? если есть тогда, почему appIsPurchased() всегда возвращает true?
Вопрос 2: все ли значения в общих предпочтениях являются истинными по умолчанию?
Между тем, когда я использую этот класс в своем коде, тост "Купил!" запускается, даже когда приложение работает в первый раз.
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        AppCore appCore = new AppCore(getApplicationContext());
        if (appCore.appIsPurchased()){
            Toast.makeText(getApplicationContext(),"Purchased!",Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(getApplicationContext(),"Not Purchased!",Toast.LENGTH_SHORT).show();
        }
}
