Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
67f8e89598 | |||
987116e877 | |||
7fa3f21e30 | |||
9d665cf4e9 | |||
1269f1552f | |||
71c1611e3e | |||
6d99fab472 | |||
8cfe6e97fa | |||
67f2a6b9c5 | |||
845c969c46 | |||
1885ba5477 | |||
ee32ac2093 |
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
@ -1,22 +1,17 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'kotlin-android'
|
||||
id ("com.apollographql.apollo").version("$apollo_version")
|
||||
id("com.apollographql.apollo3").version("3.0.0")
|
||||
}
|
||||
|
||||
apollo {
|
||||
// instruct the compiler to generate Kotlin models
|
||||
generateKotlinModels.set(true)
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.3"
|
||||
compileSdk 31
|
||||
|
||||
defaultConfig {
|
||||
applicationId "org.dnss.sfs.git.wdg.noise"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 30
|
||||
applicationId "org.ddnss.sfs.git.wdg.test"
|
||||
minSdk 24
|
||||
targetSdk 31
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
@ -41,23 +36,53 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
apollo {
|
||||
packageName.set("org.ddnss.sfs.git.wdg.noise")
|
||||
}
|
||||
|
||||
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
implementation 'androidx.core:core-ktx:1.6.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.0'
|
||||
implementation 'androidx.core:core-ktx:1.7.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.4.0'
|
||||
implementation 'com.google.android.material:material:1.4.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
|
||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
|
||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
|
||||
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
|
||||
// The core runtime dependencies
|
||||
implementation("com.apollographql.apollo:apollo-runtime:$apollo_version")
|
||||
// Coroutines extensions for easier asynchronicity handling
|
||||
implementation("com.apollographql.apollo:apollo-coroutines-support:$apollo_version")
|
||||
testImplementation 'junit:junit:4.+'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
def room_version = "2.4.1"
|
||||
|
||||
implementation "androidx.room:room-runtime:$room_version"
|
||||
annotationProcessor "androidx.room:room-compiler:$room_version"
|
||||
|
||||
// optional - RxJava2 support for Room
|
||||
implementation "androidx.room:room-rxjava2:$room_version"
|
||||
|
||||
// optional - RxJava3 support for Room
|
||||
implementation "androidx.room:room-rxjava3:$room_version"
|
||||
|
||||
// optional - Guava support for Room, including Optional and ListenableFuture
|
||||
implementation "androidx.room:room-guava:$room_version"
|
||||
|
||||
// optional - Test helpers
|
||||
testImplementation "androidx.room:room-testing:$room_version"
|
||||
|
||||
// optional - Paging 3 Integration
|
||||
implementation "androidx.room:room-paging:$room_version"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// ...
|
||||
implementation("com.apollographql.apollo3:apollo-runtime:3.0.0")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.dnss.sfs.git.wdg.noise
|
||||
package org.ddnss.sfs.git.wdg.noise
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.dnss.sfs.git.wdg.noise">
|
||||
package="org.ddnss.sfs.git.wdg.noise">
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
@ -10,9 +10,10 @@
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.Noise">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:name="org.ddnss.sfs.git.wdg.noise.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/Theme.Noise.NoActionBar">
|
||||
android:theme="@style/Theme.Noise.NoActionBar"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@ -21,4 +22,7 @@
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
</manifest>
|
@ -0,0 +1,6 @@
|
||||
query GetChats($id: ID!, $pw: String!){
|
||||
chats(user: $id, passwordHash: $pw){
|
||||
id
|
||||
users
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
query GetGroupChats($id: ID!, $pw: String!){
|
||||
groupChats(user: $id, passwordHash: $pw){
|
||||
id
|
||||
users
|
||||
title
|
||||
description
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
#query GetMessages{
|
||||
|
||||
#}
|
10
app/src/main/graphql/org/ddnss/sfs/noise/GetUsers.graphql
Normal file
10
app/src/main/graphql/org/ddnss/sfs/noise/GetUsers.graphql
Normal file
@ -0,0 +1,10 @@
|
||||
query GetUsers {
|
||||
users {
|
||||
id
|
||||
userName
|
||||
displayName
|
||||
activated
|
||||
created
|
||||
lastOnline
|
||||
}
|
||||
}
|
166
app/src/main/graphql/org/ddnss/sfs/noise/schema.graphqls
Normal file
166
app/src/main/graphql/org/ddnss/sfs/noise/schema.graphqls
Normal file
@ -0,0 +1,166 @@
|
||||
type Message {
|
||||
id: ID!
|
||||
|
||||
timestamp: String!
|
||||
|
||||
sender: ID!
|
||||
|
||||
msgType: MsgType!
|
||||
|
||||
content: String
|
||||
|
||||
hideFor: [ID!]
|
||||
|
||||
seenBy: [ID!]!
|
||||
}
|
||||
|
||||
type ExternalServersPreferences {
|
||||
privacyPreferences: PrivacyPreferences!
|
||||
|
||||
externalServers: RestrictionPolicy!
|
||||
|
||||
externalServersLimit: [Url!]!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
newUser(newUser: NewUser!): ID!
|
||||
|
||||
newChat(user: ID!, passwordHash: String!, with: ID!): ID!
|
||||
|
||||
newGroupChat(user: ID!, passwordHash: String!, title: String!, description: String, with: [ID!]!): ID!
|
||||
|
||||
sendMessage(user: ID!, passwordHash: String!, chat: ID!, msg: MessageInput!): ID!
|
||||
}
|
||||
|
||||
enum RestrictionPolicy {
|
||||
EVERYONE
|
||||
|
||||
EXCLUDING
|
||||
|
||||
INCLUDING
|
||||
|
||||
NONE
|
||||
}
|
||||
|
||||
type NotificationPreferences {
|
||||
lockDetails: Boolean!
|
||||
|
||||
doNotDisturb: Boolean!
|
||||
}
|
||||
|
||||
"""
|
||||
DateTime
|
||||
"""
|
||||
scalar DateTimeUtc
|
||||
|
||||
"""
|
||||
Url
|
||||
"""
|
||||
scalar Url
|
||||
|
||||
type Query {
|
||||
getUserID(username: String!): ID!
|
||||
|
||||
isUsernameUsed(username: String!): Boolean!
|
||||
|
||||
users: [User!]!
|
||||
|
||||
userPreferences(id: ID!, passwordHash: String!): UserPreferences!
|
||||
|
||||
chats(user: ID!, passwordHash: String!): [Chat!]!
|
||||
|
||||
groupChats(user: ID!, passwordHash: String!): [GroupChat!]!
|
||||
|
||||
getMessages(user: ID!, passwordHash: String!, chat: ID!, lastMsg: ID, limit: Int): [Message!]!
|
||||
}
|
||||
|
||||
type SecurityPreferences {
|
||||
accountTokens: [ID!]!
|
||||
|
||||
passwordHash: String!
|
||||
}
|
||||
|
||||
type PrivacyPreferences {
|
||||
discovery: RestrictionPolicy!
|
||||
|
||||
discoveryUserLimit: [String!]!
|
||||
|
||||
discoveryServerLimit: [Url!]!
|
||||
|
||||
lastSeen: RestrictionPolicy!
|
||||
|
||||
lastSeenUserLimit: [String!]!
|
||||
|
||||
lastSeenServerLimit: [Url!]!
|
||||
|
||||
lastSeenCourse: Boolean!
|
||||
|
||||
info: RestrictionPolicy!
|
||||
|
||||
infoUserLimit: [String!]!
|
||||
|
||||
infoServerLimit: [Url!]!
|
||||
}
|
||||
|
||||
type UserPreferences {
|
||||
privacyPreferences: PrivacyPreferences!
|
||||
|
||||
notificationPreferences: NotificationPreferences!
|
||||
|
||||
securityPreferences: SecurityPreferences!
|
||||
|
||||
externalServersPreferences: ExternalServersPreferences!
|
||||
}
|
||||
|
||||
input NewUser {
|
||||
userName: String!
|
||||
|
||||
displayName: String
|
||||
|
||||
passwordHash: String!
|
||||
}
|
||||
|
||||
input MessageInput {
|
||||
msgType: MsgType!
|
||||
|
||||
content: String
|
||||
}
|
||||
|
||||
type User {
|
||||
id: ID!
|
||||
|
||||
userName: String!
|
||||
|
||||
displayName: String
|
||||
|
||||
activated: Boolean!
|
||||
|
||||
created: DateTimeUtc!
|
||||
|
||||
lastOnline: DateTimeUtc
|
||||
}
|
||||
|
||||
enum MsgType {
|
||||
TEXT
|
||||
}
|
||||
|
||||
type Chat {
|
||||
id: ID!
|
||||
|
||||
users: [ID!]!
|
||||
}
|
||||
|
||||
type GroupChat {
|
||||
id: ID!
|
||||
|
||||
title: String!
|
||||
|
||||
description: String
|
||||
|
||||
users: [ID!]!
|
||||
}
|
||||
|
||||
schema {
|
||||
query: Query
|
||||
mutation: Mutation
|
||||
}
|
6
app/src/main/java/org/ddnss/sfs/git/wdg/noise/Apollo.kt
Normal file
6
app/src/main/java/org/ddnss/sfs/git/wdg/noise/Apollo.kt
Normal file
@ -0,0 +1,6 @@
|
||||
package org.ddnss.sfs.git.wdg.noise
|
||||
import com.apollographql.apollo3.ApolloClient
|
||||
|
||||
val apolloClient = ApolloClient.Builder()
|
||||
.serverUrl("https://noise.sfs.ddnss.org/graphql")
|
||||
.build()
|
@ -1,10 +1,8 @@
|
||||
package org.dnss.sfs.git.wdg.noise
|
||||
package org.ddnss.sfs.git.wdg.noise
|
||||
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.widget.Button
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import androidx.navigation.findNavController
|
||||
@ -14,7 +12,8 @@ import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import org.dnss.sfs.git.wdg.noise.databinding.ActivityMainBinding
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import org.ddnss.sfs.git.wdg.noise.databinding.ActivityMainBinding
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
||||
@ -45,11 +44,18 @@ class MainActivity : AppCompatActivity() {
|
||||
)
|
||||
setupActionBarWithNavController(navController, appBarConfiguration)
|
||||
navView.setupWithNavController(navController)
|
||||
getData()
|
||||
}
|
||||
|
||||
addButton( "a", 0xff0000)
|
||||
addButton( "b", 0xff0000)
|
||||
addButton( "c", 0xff0000)
|
||||
addButton( "d", 0xff0000)
|
||||
fun getData(){
|
||||
val text: TextView = findViewById<TextView>(R.id.testData)
|
||||
|
||||
lifecycleScope.launchWhenResumed {
|
||||
val response = apolloClient.query(GetGroupChatsQuery("7bea8833b6d64a37ae0949619e06b692", "1234567890")).execute()
|
||||
|
||||
//Log.d("LaunchList", "Success ${response.data}")
|
||||
text.text = response.data.toString()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
@ -63,19 +69,4 @@ class MainActivity : AppCompatActivity() {
|
||||
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
|
||||
}
|
||||
|
||||
fun addButton(userName: String, color: Int) {
|
||||
val contactScrollField = findViewById<LinearLayout>(R.id.linear_layout)
|
||||
// = findViewById(R.id.linear_layout) as LinearLayout
|
||||
|
||||
val dynamicButton = Button(this)
|
||||
/*dynamicButton.layoutParams = LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT
|
||||
)*/
|
||||
dynamicButton.text = userName
|
||||
dynamicButton.setBackgroundColor(Color.GREEN)
|
||||
|
||||
contactScrollField.addView(dynamicButton)
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package org.dnss.sfs.git.wdg.noise.ui.gallery
|
||||
package org.ddnss.sfs.git.wdg.noise.ui.gallery
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -6,20 +6,23 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import org.dnss.sfs.git.wdg.noise.R
|
||||
import org.dnss.sfs.git.wdg.noise.databinding.FragmentGalleryBinding
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import org.ddnss.sfs.git.wdg.noise.GetUsersQuery
|
||||
import org.ddnss.sfs.git.wdg.noise.apolloClient
|
||||
import org.ddnss.sfs.git.wdg.noise.databinding.FragmentSettingsBinding
|
||||
|
||||
class GalleryFragment : Fragment() {
|
||||
|
||||
private lateinit var galleryViewModel: GalleryViewModel
|
||||
private var _binding: FragmentGalleryBinding? = null
|
||||
private var _binding: FragmentSettingsBinding? = null
|
||||
|
||||
// This property is only valid between onCreateView and
|
||||
// onDestroyView.
|
||||
private val binding get() = _binding!!
|
||||
|
||||
//var text: TextView = findViewById(R.id.testData) as TextView
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
@ -28,16 +31,18 @@ class GalleryFragment : Fragment() {
|
||||
galleryViewModel =
|
||||
ViewModelProvider(this).get(GalleryViewModel::class.java)
|
||||
|
||||
_binding = FragmentGalleryBinding.inflate(inflater, container, false)
|
||||
_binding = FragmentSettingsBinding.inflate(inflater, container, false)
|
||||
val root: View = binding.root
|
||||
|
||||
val textView: TextView = binding.textGallery
|
||||
galleryViewModel.text.observe(viewLifecycleOwner, Observer {
|
||||
textView.text = it
|
||||
})
|
||||
return root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
}
|
||||
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
@ -0,0 +1,10 @@
|
||||
package org.ddnss.sfs.git.wdg.noise.ui.gallery
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class GalleryViewModel : ViewModel() {
|
||||
|
||||
|
||||
}
|
@ -1,15 +1,12 @@
|
||||
package org.dnss.sfs.git.wdg.noise.ui.home
|
||||
package org.ddnss.sfs.git.wdg.noise.ui.home
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import org.dnss.sfs.git.wdg.noise.R
|
||||
import org.dnss.sfs.git.wdg.noise.databinding.FragmentHomeBinding
|
||||
import org.ddnss.sfs.git.wdg.noise.databinding.FragmentHomeBinding
|
||||
|
||||
class HomeFragment : Fragment() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.dnss.sfs.git.wdg.noise.ui.home
|
||||
package org.ddnss.sfs.git.wdg.noise.ui.home
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
@ -1,13 +0,0 @@
|
||||
package org.dnss.sfs.git.wdg.noise.ui.gallery
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class GalleryViewModel : ViewModel() {
|
||||
|
||||
private val _text = MutableLiveData<String>().apply {
|
||||
value = "This is gallery Fragment"
|
||||
}
|
||||
val text: LiveData<String> = _text
|
||||
}
|
@ -17,20 +17,4 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:navGraph="@navigation/mobile_navigation" />
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout_editor_absoluteX="206dp"
|
||||
tools:layout_editor_absoluteY="241dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linear_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" >
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,22 +0,0 @@
|
||||
<?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=".ui.gallery.GalleryFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_gallery"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -6,4 +6,12 @@
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.home.HomeFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/testData"
|
||||
android:layout_width="406dp"
|
||||
android:layout_height="715dp"
|
||||
android:text="TestData"
|
||||
tools:layout_editor_absoluteX="2dp"
|
||||
tools:layout_editor_absoluteY="3dp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
9
app/src/main/res/layout/fragment_settings.xml
Normal file
9
app/src/main/res/layout/fragment_settings.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?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=".ui.gallery.GalleryFragment">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -7,13 +7,13 @@
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_home"
|
||||
android:name="org.dnss.sfs.git.wdg.noise.ui.home.HomeFragment"
|
||||
android:name="org.ddnss.sfs.git.wdg.noise.ui.home.HomeFragment"
|
||||
android:label="@string/menu_chat"
|
||||
tools:layout="@layout/fragment_home" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_gallery"
|
||||
android:name="org.dnss.sfs.git.wdg.noise.ui.gallery.GalleryFragment"
|
||||
android:name="org.ddnss.sfs.git.wdg.noise.ui.gallery.GalleryFragment"
|
||||
android:label="@string/menu_settings"
|
||||
tools:layout="@layout/fragment_gallery" />
|
||||
tools:layout="@layout/fragment_settings" />
|
||||
</navigation>
|
@ -1,4 +1,4 @@
|
||||
package org.dnss.sfs.git.wdg.noise
|
||||
package org.ddnss.sfs.git.wdg.noise
|
||||
|
||||
import org.junit.Test
|
||||
|
@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
buildscript {
|
||||
ext {
|
||||
apollo_version = '2.5.9'
|
||||
apollo_version = '2.5.11'
|
||||
}
|
||||
ext.kotlin_version = "1.5.20"
|
||||
repositories {
|
||||
@ -9,7 +9,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||
classpath 'com.android.tools.build:gradle:7.0.4'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
Loading…
Reference in New Issue
Block a user