Update guidelines

This commit is contained in:
Phillip Thelen 2019-05-31 13:41:05 +02:00
parent d2044f307c
commit 4e5f092869
7 changed files with 62 additions and 15 deletions

View file

@ -97,6 +97,10 @@
android:name=".ui.activities.GiftIAPActivity"
android:label="@string/gift_subscription">
</activity>
<activity
android:name=".ui.activities.GuidelinesActivity"
android:label="@string/community_guidelines">
</activity>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>

View file

@ -249,6 +249,9 @@
android:name="userID"
app:argType="string" />
</activity>
<activity
android:id="@+id/guidelinesActivity"
android:name="com.habitrpg.android.habitica.ui.activities.GuidelinesActivity" />
<activity
android:id="@+id/groupFormActivity"
android:name="com.habitrpg.android.habitica.ui.activities.GroupFormActivity"

View file

@ -0,0 +1,45 @@
package com.habitrpg.android.habitica.ui.activities
import android.os.Bundle
import android.webkit.WebView
import com.commonsware.cwac.anddown.AndDown
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import okhttp3.*
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader
class GuidelinesActivity: BaseActivity() {
private lateinit var request: Request
override fun getLayoutResId(): Int = R.layout.activity_guidelines
override fun injectActivity(component: AppComponent?) {
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val client = OkHttpClient()
val request = Request.Builder().url("https://s3.amazonaws.com/habitica-assets/mobileApp/endpoint/community-guidelines.md").build()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}
@Throws(IOException::class)
override fun onResponse(call: Call, response: Response) {
val `in` = response.body()?.byteStream()
val reader = BufferedReader(InputStreamReader(`in`))
val text = reader.readText()
response.body()?.close()
findViewById<WebView>(R.id.webview).post {
findViewById<WebView>(R.id.webview).loadData(AndDown().markdownToHtml(text), "text/html; charset=utf-8", "utf-8")
}
}
})
}
}

View file

@ -3,14 +3,12 @@ package com.habitrpg.android.habitica.ui.fragments.social
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.core.net.toUri
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@ -106,9 +104,7 @@ class ChatFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener {
viewModel?.getChatMessages()?.subscribe(Consumer<RealmResults<ChatMessage>> { this.setChatMessages(it) }, RxErrorHandler.handleEmptyError())?.let { compositeSubscription.add(it) }
communityGuidelinesReviewView.setOnClickListener {
val i = Intent(Intent.ACTION_VIEW)
i.data = "https://habitica.com/static/community-guidelines".toUri()
context?.startActivity(i)
MainNavigationController.navigate(R.id.guidelinesActivity)
}
communityGuidelinesAcceptButton.setOnClickListener {
viewModel?.updateUser("flags.communityGuidelinesAccepted", true)

View file

@ -3,14 +3,12 @@ package com.habitrpg.android.habitica.ui.fragments.social
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.core.net.toUri
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.habitrpg.android.habitica.MainNavDirections
@ -147,9 +145,7 @@ class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener {
}
communityGuidelinesReviewView.setOnClickListener {
val i = Intent(Intent.ACTION_VIEW)
i.data = "https://habitica.com/static/community-guidelines".toUri()
context?.startActivity(i)
MainNavigationController.navigate(R.id.guidelinesActivity)
}
communityGuidelinesAcceptButton.setOnClickListener {
userRepository.updateUser(user, "flags.communityGuidelinesAccepted", true).subscribe(Consumer {}, RxErrorHandler.handleEmptyError())

View file

@ -1,7 +1,6 @@
package com.habitrpg.android.habitica.ui.fragments.social
import android.content.Context
import android.content.Intent
import android.graphics.PorterDuff
import android.os.Bundle
import android.view.Gravity
@ -12,7 +11,6 @@ import android.widget.FrameLayout
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.InventoryRepository
@ -117,9 +115,7 @@ class TavernDetailFragment : BaseFragment() {
user?.notNull { user -> userRepository.sleep(user).subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) }
}
guidelinesButton.setOnClickListener {
val i = Intent(Intent.ACTION_VIEW)
i.data = "https://habitica.com/static/community-guidelines".toUri()
context?.startActivity(i)
MainNavigationController.navigate(R.id.guidelinesActivity)
}
faqButton.setOnClickListener {
MainNavigationController.navigate(R.id.FAQOverviewFragment)