Update android studio

This commit is contained in:
Phillip Thelen 2018-08-03 10:31:52 +02:00
parent 0cdc869cdc
commit b34e7ab969
13 changed files with 63 additions and 32 deletions

View file

@ -151,7 +151,7 @@
android:value=".ui.activities.MainActivity" />
</activity>
<activity
android:name=".ui.activities.CreateChallengeActivity"
android:name=".ui.activities.ChallengeFormActivity"
android:theme="@style/AppTheme.ActionBar"
android:parentActivityName=".ui.activities.MainActivity"
android:screenOrientation="portrait"

View file

@ -124,14 +124,13 @@ dependencies {
exclude group: 'com.android.support', module: 'multidex'
}
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:1.0.3'
}
android {
compileSdkVersion sdk_version
buildToolsVersion build_tools_version
compileSdkVersion 28
buildToolsVersion '28.0.1'
defaultConfig {
applicationId "com.habitrpg.android.habitica"

View file

@ -8,7 +8,7 @@
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.habitrpg.android.habitica.ui.activities.CreateChallengeActivity">
tools:context="com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity">
<LinearLayout
android:layout_width="match_parent"

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:abc="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools">
<item
android:id="@+id/menu_challenge_edit"
android:orderInCategory="1"
android:title="@string/action_edit" />
</menu>

View file

@ -2,18 +2,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.habitrpg.android.habitica.TaskActivity">
<item
android:id="@+id/action_leave"
android:actionViewClass="android.widget.ImageButton"
android:icon="@drawable/leave_light"
android:title="@string/leave"
app:showAsAction="always" />
<group
android:id="@+id/challenge_edit_action_group">
<item
android:id="@+id/action_edit"
android:title="@string/edit_challenge" />
</group>
android:title="@string/action_edit" />
</menu>

View file

@ -302,11 +302,11 @@
<string name="feed">Feed</string>
<string name="hatch_with">Hatch pet with %s</string>
<string name="hatched_pet_title">You hatched a %1$s %2$s!</string>
<string name="evolved_pet_title">You have tamed %1$s %2$s, let's go for a ride!</string>
<string name="evolved_pet_title">You have tamed %1$s %2$s, let\'s go for a ride!</string>
<string name="close">Close</string>
<string name="share">Share</string>
<string name="notification_pet_fed">You fed your %1$s %2$s!</string>
<string name="sectionpets">Base Pets</string>
<string name="sectionpets">Base Pets</string>
<string name="sectionpremiumPets">Magic Potion Pets</string>
<string name="sectionquestPets">Quest Pets</string>
<string name="sectionspecialPets">Rare Pets</string>

View file

@ -332,7 +332,7 @@
<string name="feed">Feed</string>
<string name="hatch_with">Hatch pet with %s</string>
<string name="hatched_pet_title">You hatched a %1$s %2$s!</string>
<string name="evolved_pet_title">You have tamed %1$s %2$s, let's go for a ride!</string>
<string name="evolved_pet_title">You have tamed %1$s %2$s, let\'s go for a ride!</string>
<string name="close">Close</string>
<string name="share">Share</string>
<string name="notification_pet_fed" >You fed your %1$s %2$s!</string>

View file

@ -179,12 +179,12 @@ abstract class HabiticaBaseApplication : MultiDexApplication() {
}
override fun openOrCreateDatabase(name: String,
mode: Int, factory: SQLiteDatabase.CursorFactory): SQLiteDatabase {
mode: Int, factory: SQLiteDatabase.CursorFactory?): SQLiteDatabase {
return super.openOrCreateDatabase(getDatabasePath(name).absolutePath, mode, factory)
}
override fun openOrCreateDatabase(name: String,
mode: Int, factory: SQLiteDatabase.CursorFactory, errorHandler: DatabaseErrorHandler?): SQLiteDatabase {
mode: Int, factory: SQLiteDatabase.CursorFactory?, errorHandler: DatabaseErrorHandler?): SQLiteDatabase {
return super.openOrCreateDatabase(getDatabasePath(name).absolutePath, mode, factory, errorHandler)
}

View file

@ -17,7 +17,7 @@ import com.habitrpg.android.habitica.receivers.TaskAlarmBootReceiver;
import com.habitrpg.android.habitica.receivers.TaskReceiver;
import com.habitrpg.android.habitica.ui.activities.AboutActivity;
import com.habitrpg.android.habitica.ui.activities.ClassSelectionActivity;
import com.habitrpg.android.habitica.ui.activities.CreateChallengeActivity;
import com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity;
import com.habitrpg.android.habitica.ui.activities.FixCharacterValuesActivity;
import com.habitrpg.android.habitica.ui.activities.FullProfileActivity;
import com.habitrpg.android.habitica.ui.activities.GemPurchaseActivity;
@ -264,7 +264,7 @@ public interface AppComponent {
void inject(NotificationPublisher notificationPublisher);
void inject(CreateChallengeActivity createChallengeActivity);
void inject(ChallengeFormActivity challengeFormActivity);
void inject(TavernDetailFragment tavernDetailFragment);

View file

@ -37,7 +37,7 @@ import java.util.*
import javax.inject.Inject
import javax.inject.Named
class CreateChallengeActivity : BaseActivity() {
class ChallengeFormActivity : BaseActivity() {
private val createChallengeTitleInputLayout: TextInputLayout by bindView(R.id.create_challenge_title_input_layout)
private val createChallengeTitle: EditText by bindView(R.id.create_challenge_title)
@ -379,6 +379,11 @@ class CreateChallengeActivity : BaseActivity() {
}
checkPrizeAndMinimumForTavern()
}, RxErrorHandler.handleEmptyError())
challengeRepository.getChallengeTasks(it).subscribe(Consumer { tasks ->
tasks.forEach { task ->
addOrUpdateTaskInList(task)
}
}, RxErrorHandler.handleEmptyError())
}
}

View file

@ -1,5 +1,6 @@
package com.habitrpg.android.habitica.ui.fragments.social.challenges
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.support.v4.content.ContextCompat
@ -33,8 +34,12 @@ import javax.inject.Inject
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import android.support.v7.app.AlertDialog
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.models.members.Member
import com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity
class ChallengeDetailFragment: BaseMainFragment() {
@ -60,6 +65,7 @@ class ChallengeDetailFragment: BaseMainFragment() {
var challengeID: String? = null
var challenge: Challenge? = null
var isCreator = false
override fun injectFragment(component: AppComponent) {
component.inject(this)
@ -76,8 +82,8 @@ class ChallengeDetailFragment: BaseMainFragment() {
gemAmountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfGem_36())
memberCountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfParticipantIcon())
challengeID.notNull {
compositeSubscription.add(challengeRepository.getChallenge(it)
challengeID.notNull {id ->
compositeSubscription.add(challengeRepository.getChallenge(id)
.doOnNext {
set(it)
}
@ -88,7 +94,7 @@ class ChallengeDetailFragment: BaseMainFragment() {
return@flatMap socialRepository.getMember(creatorID)
}
.subscribe(Consumer { set(it)}, RxErrorHandler.handleEmptyError()))
compositeSubscription.add(challengeRepository.getChallengeTasks(it).subscribe(Consumer { taskList ->
compositeSubscription.add(challengeRepository.getChallengeTasks(id).subscribe(Consumer { taskList ->
taskGrouplayout?.removeAllViewsInLayout()
val todos = ArrayList<Task>()
@ -122,7 +128,7 @@ class ChallengeDetailFragment: BaseMainFragment() {
}
}, RxErrorHandler.handleEmptyError()))
compositeSubscription.add(challengeRepository.isChallengeMember(it).subscribe(Consumer { isMember ->
compositeSubscription.add(challengeRepository.isChallengeMember(id).subscribe(Consumer { isMember ->
setJoined(isMember)
}, RxErrorHandler.handleEmptyError()))
}
@ -133,6 +139,26 @@ class ChallengeDetailFragment: BaseMainFragment() {
refresh()
}
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
if (!isCreator) {
return
}
inflater?.inflate(R.menu.menu_challenge_details, menu)
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
if (item?.itemId == R.id.action_edit) {
val intent = Intent(getActivity(), ChallengeFormActivity::class.java)
val bundle = Bundle()
bundle.putString(ChallengeFormActivity.CHALLENGE_ID_KEY, challengeID)
intent.putExtras(bundle)
startActivity(intent)
return true
}
return super.onOptionsItemSelected(item)
}
private fun refresh() {
challengeID.notNull {id ->
challengeRepository.retrieveChallenge(id)
@ -155,6 +181,8 @@ class ChallengeDetailFragment: BaseMainFragment() {
challengeLeaderAvatarView?.setAvatar(creator)
challengeLeaderLabel?.tier = creator.contributor?.level ?: 0
challengeLeaderLabel?.username = creator.displayName
isCreator = creator.id == user?.id
this.activity?.invalidateOptionsMenu()
}
private fun setJoined(joined: Boolean) {

View file

@ -16,7 +16,7 @@ import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.social.Challenge
import com.habitrpg.android.habitica.modules.AppModule
import com.habitrpg.android.habitica.ui.activities.CreateChallengeActivity
import com.habitrpg.android.habitica.ui.activities.ChallengeFormActivity
import com.habitrpg.android.habitica.ui.adapter.social.ChallengesListViewAdapter
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport
@ -176,7 +176,7 @@ class ChallengeListFragment : BaseMainFragment(), SwipeRefreshLayout.OnRefreshLi
when (id) {
R.id.action_create_challenge -> {
val intent = Intent(getActivity(), CreateChallengeActivity::class.java)
val intent = Intent(getActivity(), ChallengeFormActivity::class.java)
startActivity(intent)
return true
}

View file

@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.51'
ext.kotlin_version = '1.2.60'
ext.build_tools_version = '27.0.3'
ext.sdk_version = 27