+
+ @Query("SELECT * FROM profiles WHERE id=:profileId")
+ public abstract LiveData<Profile> getById(long profileId);
+
+ @Query("SELECT * FROM profiles ORDER BY order_no")
+ public abstract List<Profile> getAllOrderedSync();
+
+ @Query("SELECT * FROM profiles ORDER BY order_no")
+ public abstract LiveData<List<Profile>> getAllOrdered();
+
+ @Query("SELECT * FROM profiles LIMIT 1")
+ public abstract Profile getAnySync();
+
+ @Query("SELECT MAX(order_no) FROM profiles")
+ public abstract int getProfileCountSync();
+ public void updateOrderSync(List<Profile> list) {
+ if (list == null)
+ list = getAllOrderedSync();
+ int order = 1;
+ for (Profile p : list) {
+ p.setOrderNo(order++);
+ updateSync(p);
+ }
+ }
+ public void updateOrder(List<Profile> list, Runnable onDone) {
+ AsyncTask.execute(() -> {
+ updateOrderSync(list);
+ if (onDone != null)
+ onDone.run();
+
+ });
+ }