return new BinaryPreferencesBuilder(MainApplication.getInstance())
.name(BuildConfig.PREFERENCE_FOLDER)
.encryption(customEncryptor)
.registerPersistable(MyEntity.KEY, MyEntity.class)
.build();//crash is here
public final class MyEntity implements Persistable, Parcelable {
private int mId;
private String mSource;
private long mLastModification;
private int mRating;
public MyEntity(int id, String source, long lastModification, int rating) {
mId = id;
mSource = source;
mLastModification = lastModification;
mRating = rating;
}
//...
@Override
public void writeExternal(DataOutput out) {
out.writeInt(mId);
out.writeString(mSource);
out.writeLong(mLastModification);
out.writeInt(mRating);
}
@Override
public void readExternal(DataInput in) {
mId = in.readInt();
mSource = in.readString();
mLastModification = in.readLong();
mRating = in.readInt();
}
@Override
public Persistable deepClone() {
return new MyEntity(mId, mSource, mLastModification, mRating);
}
//...
}
When first created Preference it's all right. But if called