diff --git a/Habitica/assets/paperboy/changelog.json b/Habitica/assets/paperboy/changelog.json index bf25846bc..5bb188f80 100644 --- a/Habitica/assets/paperboy/changelog.json +++ b/Habitica/assets/paperboy/changelog.json @@ -1,4 +1,21 @@ [ + { + "name": "Version 0.0.11", + "items":[ + { + "type": "F", + "title": "Ability to Change/See/Add checklists" + }, + { + "type": "F", + "title": "Settings Screen with logout options and account details." + }, + { + "type": "B", + "title": "fix clear database" + } + ] + }, { "name": "Version 0.0.10", "items":[ @@ -204,4 +221,4 @@ } ] } -] \ No newline at end of file +] diff --git a/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java b/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java index 42f8d7e6f..0f6af27f2 100644 --- a/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java +++ b/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java @@ -69,6 +69,9 @@ public class HabiticaApplication extends Application { @Override public boolean deleteDatabase(String name) { + if(!name.endsWith(".db")){ + name += ".db"; + } return super.deleteDatabase(getDatabasePath(name).getAbsolutePath()); } diff --git a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java index 3017688dc..01bbd98d2 100644 --- a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java @@ -39,6 +39,13 @@ import com.raizlabs.android.dbflow.sql.language.Select; import org.solovyev.android.checkout.ActivityCheckout; import org.solovyev.android.checkout.Checkout; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Map; +import java.util.TimeZone; +import java.util.concurrent.TimeUnit; + import butterknife.ButterKnife; import butterknife.InjectView; import de.greenrobot.event.EventBus; @@ -198,6 +205,14 @@ public class MainActivity extends InstabugAppCompatActivity implements HabitRPGU private void setUserData() { if (user != null) { + Calendar mCalendar = new GregorianCalendar(); + TimeZone mTimeZone = mCalendar.getTimeZone(); + long offset = -TimeUnit.MINUTES.convert(mTimeZone.getRawOffset(), TimeUnit.MILLISECONDS); + if (offset != user.getPreferences().getTimezoneOffset()) { + Map updateData = new HashMap(); + updateData.put("preferences.timezoneOffset", String.valueOf(offset)); + mAPIHelper.apiService.updateUser(updateData, new HabitRPGUserCallback(this)); + } runOnUiThread(new Runnable() { @Override public void run() { diff --git a/Habitica/src/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java b/Habitica/src/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java index 3c1ae86e7..e714ae35f 100644 --- a/Habitica/src/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java +++ b/Habitica/src/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java @@ -1,8 +1,15 @@ package com.habitrpg.android.habitica.callbacks; +import android.util.Log; + import com.crashlytics.android.Crashlytics; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.TimeZone; +import java.util.concurrent.TimeUnit; + import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; @@ -22,7 +29,6 @@ public class HabitRPGUserCallback implements Callback { public void success(HabitRPGUser habitRPGUser, Response response) { habitRPGUser.async().save(); - mCallback.onUserReceived(habitRPGUser); } diff --git a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java index 8e055350c..151fcb823 100644 --- a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java +++ b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java @@ -15,7 +15,9 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData; import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; import java.util.ArrayList; +import java.util.Dictionary; import java.util.List; +import java.util.Map; import retrofit.Callback; import retrofit.http.Body; @@ -41,6 +43,9 @@ public interface ApiService { @GET("/user/") void getUser(Callback habitRPGUserCallback); + @PUT("/user/") + void updateUser(@Body Map updateDictionary, Callback habitRPGUserCallback); + @GET("/user/inventory/buy") void getInventoryBuyableGear(Callback> buyableGearCallback);