From fa2ec9aac9f5fe9297e98bcf55e95a41da14aa2c Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 17 Nov 2017 14:00:31 +0100 Subject: [PATCH] fix news display --- Habitica/AndroidManifest.xml | 2 +- .../android/habitica/components/AppComponent.java | 3 +++ .../habitrpg/android/habitica/data/TaskRepository.kt | 4 ++-- .../data/implementation/TaskRepositoryImpl.kt | 6 +++--- .../data/implementation/UserRepositoryImpl.kt | 2 +- .../android/habitica/ui/activities/MainActivity.java | 2 +- .../android/habitica/ui/fragments/NewsFragment.kt | 11 +++++++++-- .../habitica/ui/fragments/setup/WelcomeFragment.java | 4 +++- .../android/habitica/ui/views/login/StarView.java | 5 ++++- 9 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 2bc229b36..955f301b4 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/components/AppComponent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/components/AppComponent.java index cbb192e7e..417ff1cc3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/components/AppComponent.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/components/AppComponent.java @@ -65,6 +65,7 @@ import com.habitrpg.android.habitica.ui.fragments.preferences.PushNotificationsP import com.habitrpg.android.habitica.ui.fragments.setup.AvatarSetupFragment; import com.habitrpg.android.habitica.ui.fragments.setup.IntroFragment; import com.habitrpg.android.habitica.ui.fragments.setup.TaskSetupFragment; +import com.habitrpg.android.habitica.ui.fragments.setup.WelcomeFragment; import com.habitrpg.android.habitica.ui.fragments.skills.SkillTasksRecyclerViewFragment; import com.habitrpg.android.habitica.ui.fragments.skills.SkillsFragment; import com.habitrpg.android.habitica.ui.fragments.social.ChatListFragment; @@ -293,4 +294,6 @@ public interface AppComponent { void inject(@NotNull BulkAllocateStatsDialog bulkAllocateStatsDialog); void inject(@NotNull PushNotificationsPreferencesFragment pushNotificationsPreferencesFragment); + + void inject(WelcomeFragment welcomeFragment); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.kt index 0c2625304..7a5e995d0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.kt @@ -19,8 +19,8 @@ interface TaskRepository : BaseRepository { fun retrieveTasks(userId: String, tasksOrder: TasksOrder): Observable fun retrieveTasks(userId: String, tasksOrder: TasksOrder, dueDate: Date): Observable - fun taskChecked(user: User?, task: Task, up: Boolean, force: Boolean): Observable - fun taskChecked(user: User?, taskId: String, up: Boolean, force: Boolean): Observable + fun taskChecked(user: User?, task: Task, up: Boolean, force: Boolean): Observable + fun taskChecked(user: User?, taskId: String, up: Boolean, force: Boolean): Observable fun scoreChecklistItem(taskId: String, itemId: String): Observable fun getTask(taskId: String): Observable diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt index 44f02a7e2..a720ade74 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt @@ -46,10 +46,10 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli .doOnNext { res -> this.localRepository.saveTasks(userId, tasksOrder, res) } } - override fun taskChecked(user: User?, task: Task, up: Boolean, force: Boolean): Observable { + override fun taskChecked(user: User?, task: Task, up: Boolean, force: Boolean): Observable { val now = Date().time if (lastTaskAction > now - 500 && !force) { - return Observable.just(TaskScoringResult()) + return Observable.just(null) } lastTaskAction = now return this.apiClient.postTaskDirection(task.id, (if (up) TaskDirection.up else TaskDirection.down).toString()) @@ -90,7 +90,7 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli } } - override fun taskChecked(user: User?, taskId: String, up: Boolean, force: Boolean): Observable { + override fun taskChecked(user: User?, taskId: String, up: Boolean, force: Boolean): Observable { return localRepository.getTask(taskId).first() .flatMap { task -> taskChecked(user, task, up, force) } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt index d8fd83153..2d9191173 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt @@ -244,7 +244,7 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli } override fun runCron(tasks: List) { - val observable: Observable> = if (tasks.isNotEmpty()) { + val observable: Observable> = if (tasks.isNotEmpty()) { Observable.from(tasks) .flatMap { task -> taskRepository.taskChecked(null, task, true, true) } .toList() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java index f289c49f8..59de06950 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java @@ -836,7 +836,7 @@ public class MainActivity extends BaseActivity implements TutorialView.OnTutoria @Override public void onTutorialDeferred(TutorialStep step) { - step.setDisplayedOn(new Date()); + taskRepository.executeTransaction(realm -> step.setDisplayedOn(new Date())); this.removeActiveTutorialView(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt index 5741fcdc4..6659c3d59 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NewsFragment.kt @@ -18,14 +18,16 @@ class NewsFragment : BaseMainFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) + hideToolbar() return container?.inflate(R.layout.fragment_news) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val address = if (BuildConfig.DEBUG) BuildConfig.BASE_URL else context?.getString(R.string.base_url) - val webSettings = newsWebview.getSettings() - webSettings.setJavaScriptEnabled(true) + val webSettings = newsWebview.settings + webSettings.javaScriptEnabled = true + webSettings.domStorageEnabled = true newsWebview.webChromeClient = object : WebChromeClient() { override fun onConsoleMessage(consoleMessage: ConsoleMessage): Boolean { Log.d("Habitica", consoleMessage.message() + " -- From line " @@ -37,6 +39,11 @@ class NewsFragment : BaseMainFragment() { newsWebview.loadUrl(address + "/static/new-stuff") } + override fun onDestroyView() { + showToolbar() + super.onDestroyView() + } + override fun injectFragment(component: AppComponent) { component.inject(this) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.java index 8214af9c4..956b315b7 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.java @@ -52,5 +52,7 @@ public class WelcomeFragment extends BaseFragment { } @Override - public void injectFragment(AppComponent component) {} + public void injectFragment(AppComponent component) { + component.inject(this); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/login/StarView.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/login/StarView.java index 4820be54f..b830c28ee 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/login/StarView.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/login/StarView.java @@ -67,6 +67,9 @@ public class StarView extends AppCompatImageView { runBlink(); } }); - animator.start(); + try { + animator.start(); + } catch (NullPointerException ignored) { + } } }