Skip to content

Commit

Permalink
Allow different hardcoded users to log in
Browse files Browse the repository at this point in the history
  • Loading branch information
mwmlo committed Jun 13, 2023
1 parent d9c6f61 commit 31f4534
Show file tree
Hide file tree
Showing 8 changed files with 130 additions and 192 deletions.
18 changes: 8 additions & 10 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,26 @@
android:theme="@style/Theme.DRP25"
tools:targetApi="31">
<activity
android:name=".InterestActivity"
android:exported="false" />
<activity
android:name=".ProfileActivity"
android:name=".UserActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".InterestActivity"
android:exported="false" />
<activity
android:name=".ProfileActivity"
android:exported="false">
</activity>
<activity
android:name=".MatchActivity"
android:exported="false" />
<activity
android:name=".ChannelActivity"
android:exported="false" />
<activity
android:name=".HomeActivity"
android:exported="false"
android:label="@string/title_activity_home"
android:theme="@style/Theme.DRP25" />
<activity
android:name=".ChatActivity"
android:exported="false"
Expand Down
99 changes: 54 additions & 45 deletions app/src/main/java/com/example/drp25/ChatActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.appcompat.app.AppCompatActivity

import com.example.drp25.databinding.ActivityChatBinding
import io.getstream.chat.android.client.api.models.querysort.QuerySortByField
import io.getstream.chat.android.client.models.Channel
import io.getstream.chat.android.client.models.Filters
import io.getstream.chat.android.client.models.User
import io.getstream.chat.android.ui.channel.list.header.viewmodel.ChannelListHeaderViewModel
Expand All @@ -17,49 +16,59 @@ import io.getstream.chat.android.ui.channel.list.viewmodel.ChannelListViewModel
import io.getstream.chat.android.ui.channel.list.viewmodel.bindView
import io.getstream.chat.android.ui.channel.list.viewmodel.factory.ChannelListViewModelFactory

// our logged in user
const val UNI_ID = "imperialId"
const val USER_ID = "-NXPnWryIGR2S5aJmSGH"
class ChatActivity : AppCompatActivity() {

private lateinit var binding: ActivityChatBinding

val pierre = User(
id = "Pierre",
name = "Pierre",
image = "upload.wikimedia.org/wikipedia/commons/6/62/Flag_of_France.png"
)
val kevin = User(
id = "Kevin",
name = "Kevin",
image = "cdn.countryflags.com/thumbs/china/flag-round-250.png"
)
val max = User(
id = "Max",
name = "Max",
image = "img.freepik.com/premium-vector/german-flag-vector_230920-1254.jpg"
)
val sasha = User(
id = "Sasha",
name = "Sasha",
image = "upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Flag_of_India.png/800px-Flag_of_India.png"
)
val david = User(
id = "David",
name = "David",
image = "img.freepik.com/premium-vector/german-flag-vector_230920-1254.jpg"
)

// Get match for demo
private val people = listOf(pierre, kevin, max, sasha, david)
private var i = 0
companion object {
private val pierre = User(
id = "Pierre",
name = "Pierre",
image = "upload.wikimedia.org/wikipedia/commons/6/62/Flag_of_France.png"
)
private val kevin = User(
id = "Kevin",
name = "Kevin",
image = "cdn.countryflags.com/thumbs/china/flag-round-250.png"
)
private val max = User(
id = "Max",
name = "Max",
image = "img.freepik.com/premium-vector/german-flag-vector_230920-1254.jpg"
)
private val sasha = User(
id = "Sasha",
name = "Sasha",
image = "upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Flag_of_India.png/800px-Flag_of_India.png"
)
private val david = User(
id = "David",
name = "David",
image = "img.freepik.com/premium-vector/german-flag-vector_230920-1254.jpg"
)

private fun getMatch(): String {
val match = people[i]
i++
return match.id
private var currentUser: User = kevin
private var potentialFriends: List<User> = listOf()
fun setCurrentUser(name: String) {
if (name == "kevin") {
currentUser = kevin
potentialFriends = listOf(pierre, max, sasha, david)
} else {
currentUser = max
potentialFriends = listOf(pierre, kevin, sasha, david)
}
}
}

// Get match for demo
// private var i = 0
//
// private fun getMatch(): String {
// val match = potentialFriends[i]
// i++
// return match.id
// }

// val matchesRef = FirebaseDatabase.getInstance().reference.child("matches")

private fun buildChannelId(user1: String, user2: String): String {
Expand All @@ -75,12 +84,12 @@ class ChatActivity : AppCompatActivity() {

if (savedInstanceState == null) {
Backend.serverInit()
Backend.createFriend(pierre.id, pierre.name)
Backend.createFriend(max.id, max.name)
Backend.createFriend(sasha.id, sasha.name)
Backend.createFriend(david.id, david.name)

clientService.connectCurrentUser(kevin).enqueue { result ->
for (person in potentialFriends) {
Backend.createFriend(person.id, person.name)
}

clientService.connectCurrentUser(currentUser).enqueue { result ->
if (result.isSuccess) {
Log.e("connectUser", "success")
} else {
Expand All @@ -94,8 +103,8 @@ class ChatActivity : AppCompatActivity() {
if (fromMatch) {
Log.e("main", "createChannel")
val matchUserName: String = intent.getStringExtra("matchedName")!!
val cid = buildChannelId(kevin.id, matchUserName)
clientService.createChannel(cid, kevin.id, matchUserName)
val cid = buildChannelId(currentUser.id, matchUserName)
clientService.createChannel(cid, currentUser.id, matchUserName)
}

// Step 0 - inflate binding
Expand All @@ -105,7 +114,7 @@ class ChatActivity : AppCompatActivity() {
val channelListFactory = ChannelListViewModelFactory(
filter = Filters.and(
Filters.eq("type", "messaging"),
Filters.`in`("members", listOf(kevin.id)),
Filters.`in`("members", listOf(currentUser.id)),
),
sort = QuerySortByField.descByName("lastUpdated"),
limit = 30,
Expand Down
62 changes: 0 additions & 62 deletions app/src/main/java/com/example/drp25/HomeActivity.kt

This file was deleted.

34 changes: 34 additions & 0 deletions app/src/main/java/com/example/drp25/UserActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.example.drp25

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.example.drp25.ChatActivity.Companion.setCurrentUser

const val UNI_ID = "imperialId"
var USER_ID = ""

class UserActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_user)

val maxButton = findViewById<Button>(R.id.enter_max_button)
val kevinButton = findViewById<Button>(R.id.enter_kevin_button)

maxButton.setOnClickListener {
USER_ID = "-NXPnWryIGR2S5aJmSGH"
setCurrentUser("max")
val intent = Intent(this, ChatActivity::class.java)
startActivity(intent)
}

kevinButton.setOnClickListener {
USER_ID = "-NXPnWs-phdiaSN_S87V"
setCurrentUser("kevin")
val intent = Intent(this, ChatActivity::class.java)
startActivity(intent)
}
}
}
74 changes: 0 additions & 74 deletions app/src/main/res/layout/activity_home.xml

This file was deleted.

31 changes: 31 additions & 0 deletions app/src/main/res/layout/activity_user.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".UserActivity">

<Button
android:id="@+id/enter_max_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="#CC461C"
android:text="@string/enter_as_max"
app:layout_constraintBottom_toTopOf="@+id/enter_kevin_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/enter_kevin_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="#1F7AC3"
android:text="@string/enter_as_kevin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/enter_max_button" />

</androidx.constraintlayout.widget.ConstraintLayout>
2 changes: 1 addition & 1 deletion app/src/main/res/navigation/nav_graph.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
app:startDestination="@layout/activity_home">
app:startDestination="@layout/activity_user">


</navigation>
Loading

0 comments on commit 31f4534

Please sign in to comment.