├── .idea
├── .name
├── .gitignore
├── codeStyles
│ └── codeStyleConfig.xml
├── discord.xml
├── vcs.xml
└── inspectionProfiles
│ └── Project_Default.xml
├── app
├── .gitignore
├── src
│ └── main
│ │ ├── res
│ │ ├── font
│ │ │ ├── manrope_vf.ttf
│ │ │ ├── manrope_bold.ttf
│ │ │ ├── manrope_light.ttf
│ │ │ ├── manrope_medium.ttf
│ │ │ ├── manrope_regular.ttf
│ │ │ ├── notocoloremoji.ttf
│ │ │ ├── manrope_extrabold.ttf
│ │ │ ├── manrope_semibold.ttf
│ │ │ ├── manrope_extralight.ttf
│ │ │ └── jetbrainsmono_variable.ttf
│ │ ├── drawable
│ │ │ ├── github_icon.png
│ │ │ ├── ic_branch.xml
│ │ │ ├── ic_tag.xml
│ │ │ └── ic_gimmick_icon.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── values
│ │ │ ├── ic_launcher_background.xml
│ │ │ ├── strings.xml
│ │ │ ├── colors.xml
│ │ │ └── themes.xml
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ ├── values-night
│ │ │ └── themes.xml
│ │ └── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ ├── ic_launcher-playstore.png
│ │ ├── java
│ │ └── at
│ │ │ └── sphericalk
│ │ │ └── gidget
│ │ │ ├── utils
│ │ │ ├── Datastore.kt
│ │ │ ├── LanguageColors.kt
│ │ │ ├── Extensions.kt
│ │ │ └── Constants.kt
│ │ │ ├── GidgetApplication.kt
│ │ │ ├── model
│ │ │ ├── ApiResult.kt
│ │ │ ├── AccessTokenResponse.kt
│ │ │ ├── GithubUser.kt
│ │ │ └── Events.kt
│ │ │ ├── ui
│ │ │ ├── theme
│ │ │ │ ├── Shape.kt
│ │ │ │ ├── Color.kt
│ │ │ │ ├── Theme.kt
│ │ │ │ └── Type.kt
│ │ │ ├── composables
│ │ │ │ ├── Loading.kt
│ │ │ │ └── MarkdownText.kt
│ │ │ └── routes
│ │ │ │ ├── FeedViewModel.kt
│ │ │ │ ├── Welcome.kt
│ │ │ │ ├── Release.kt
│ │ │ │ └── Feed.kt
│ │ │ ├── data
│ │ │ ├── db
│ │ │ │ ├── AppDb.kt
│ │ │ │ ├── EventDao.kt
│ │ │ │ └── Converters.kt
│ │ │ └── network
│ │ │ │ ├── GithubDataSource.kt
│ │ │ │ └── GithubService.kt
│ │ │ ├── navigation
│ │ │ └── Destination.kt
│ │ │ ├── di
│ │ │ ├── DbModule.kt
│ │ │ └── ApiModule.kt
│ │ │ ├── AuthActivity.kt
│ │ │ ├── repo
│ │ │ └── GithubRepository.kt
│ │ │ └── MainActivity.kt
│ │ └── AndroidManifest.xml
├── proguard-rules.pro
└── build.gradle
├── keystore.jks
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── settings.gradle
├── .gitignore
├── README.md
├── gradle.properties
├── gradlew.bat
└── gradlew
/.idea/.name:
--------------------------------------------------------------------------------
1 | Gidget
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/keystore.jks
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_vf.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_vf.ttf
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_bold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/drawable/github_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/drawable/github_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_light.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_medium.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_regular.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/notocoloremoji.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/notocoloremoji.ttf
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/utils/Datastore.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.utils
2 |
3 | data class UserPrefs(val apiKey: String)
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_extrabold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_extrabold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_semibold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_extralight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/manrope_extralight.ttf
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/font/jetbrainsmono_variable.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/font/jetbrainsmono_variable.ttf
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SphericalKat/gimmick/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #1B1F23
4 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/discord.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/GidgetApplication.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget
2 |
3 | import android.app.Application
4 | import dagger.hilt.android.HiltAndroidApp
5 |
6 | @HiltAndroidApp
7 | class GidgetApplication : Application()
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Jun 21 20:25:23 IST 2021
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/model/ApiResult.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.model
2 |
3 | sealed class ApiResult {
4 | data class Success(val data: T) : ApiResult()
5 | data class Error(val message: String) : ApiResult()
6 | object Loading : ApiResult()
7 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Gimmick
3 |
4 |
5 | Welcome to your new and improved GitHub feed.
6 | Sign in
7 | GitHub icon
8 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | dependencyResolutionManagement {
2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
3 | repositories {
4 | google()
5 | mavenCentral()
6 | jcenter() // Warning: this repository is going to shut down soon
7 | }
8 | }
9 | rootProject.name = "Gidget"
10 | include ':app'
11 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/model/AccessTokenResponse.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.model
2 |
3 | import androidx.annotation.Keep
4 |
5 | @Keep
6 | data class AccessTokenResponse(
7 | val access_token: String? = null,
8 | val token_type: String? = null,
9 | val error: String? = null,
10 | val error_description: String? = null,
11 | val error_uri: String? = null,
12 | )
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/ui/theme/Shape.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.ui.theme
2 |
3 | import androidx.compose.foundation.shape.RoundedCornerShape
4 | import androidx.compose.material.Shapes
5 | import androidx.compose.ui.unit.dp
6 |
7 | val Shapes = Shapes(
8 | small = RoundedCornerShape(10.dp),
9 | medium = RoundedCornerShape(10.dp),
10 | large = RoundedCornerShape(0.dp)
11 | )
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/data/db/AppDb.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.data.db
2 |
3 | import androidx.room.Database
4 | import androidx.room.RoomDatabase
5 | import androidx.room.TypeConverters
6 | import at.sphericalk.gidget.model.Event
7 |
8 | @Database(entities = [Event::class], version = 5, exportSchema = true)
9 | @TypeConverters(Converters::class)
10 | abstract class AppDb : RoomDatabase() {
11 | abstract fun eventDao(): EventDao
12 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | /.idea/navEditor.xml
9 | /.idea/codeStyles/Project.xml
10 | /.idea/compiler.xml
11 | /.idea/deploymentTargetDropDown.xml
12 | /.idea/gradle.xml
13 | /.idea/misc.xml
14 | /.idea/assetWizardSettings.xml
15 | .DS_Store
16 | /build
17 | /captures
18 | .externalNativeBuild
19 | .cxx
20 | local.properties
21 | secrets.properties
22 | .envrc
23 | app/google-services.json
24 | app/release
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_branch.xml:
--------------------------------------------------------------------------------
1 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/navigation/Destination.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.navigation
2 |
3 | import androidx.navigation.NavController
4 |
5 | sealed class Destination(val route: String) {
6 | object Welcome : Destination("welcome")
7 | object Feed : Destination("feed")
8 | object Release : Destination("release")
9 | }
10 |
11 | class AppActions(navController: NavController) {
12 | val navigateToFeed: () -> Unit = {
13 | navController.navigate(Destination.Feed.route) {
14 | popUpTo(Destination.Welcome.route) { inclusive = true }
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/data/db/EventDao.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.data.db
2 |
3 | import androidx.room.Dao
4 | import androidx.room.Insert
5 | import androidx.room.OnConflictStrategy
6 | import androidx.room.Query
7 | import at.sphericalk.gidget.model.Event
8 | import kotlinx.coroutines.flow.Flow
9 |
10 | @Dao
11 | interface EventDao {
12 | @Query("SELECT * FROM event ORDER BY event_created_at DESC")
13 | fun getAllEvents(): Flow>
14 |
15 | @Insert(onConflict = OnConflictStrategy.REPLACE)
16 | suspend fun insertEvent(events: Event)
17 |
18 | @Insert(onConflict = OnConflictStrategy.REPLACE)
19 | suspend fun insertEvents(events: List)
20 | }
--------------------------------------------------------------------------------
/app/src/main/java/at/sphericalk/gidget/utils/LanguageColors.kt:
--------------------------------------------------------------------------------
1 | package at.sphericalk.gidget.utils
2 |
3 | import com.squareup.moshi.Moshi
4 | import com.squareup.moshi.Types
5 | import java.lang.reflect.ParameterizedType
6 | import javax.inject.Inject
7 |
8 | class LanguageColors @Inject constructor(moshi: Moshi) {
9 | private val mapType: ParameterizedType = Types.newParameterizedType(
10 | MutableMap::class.java,
11 | String::class.java,
12 | String::class.java
13 | )
14 | private val mapAdapter = moshi.adapter