Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Verified Commit 06f760a7 authored by Fahim M. Choudhury's avatar Fahim M. Choudhury
Browse files

Merge branch 'main' into 2112-nsfw-apps-after-merging-2203-paco

# Conflicts:
#	app/src/main/java/foundation/e/apps/data/blockedApps/ContentRatingGroup.kt
#	app/src/main/java/foundation/e/apps/data/blockedApps/ContentRatingsRepository.kt
#	app/src/main/java/foundation/e/apps/data/cleanapk/RetrofitApiModule.kt
#	app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt
#	app/src/main/java/foundation/e/apps/provider/AgeRatingProvider.kt
#	parental-control-data/src/main/java/foundation/e/apps/contract/ParentalControlContract.kt
parents 0fb99bdb 7ca2766d
Loading
Loading
Loading
Loading

.coderabbit.yaml

0 → 100644
+15 −0
Original line number Original line Diff line number Diff line
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: false
reviews:
  profile: "chill"
  request_changes_workflow: false
  high_level_summary: true
  poem: false
  review_status: false
  collapse_walkthrough: true
  auto_review:
    enabled: true
    drafts: true
chat:
  auto_reply: false
+35 −0
Original line number Original line Diff line number Diff line
/*
 *  Copyright MURENA SAS 2024
 *  Apps  Quickly and easily install Android apps onto your device!
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 */

package foundation.e.apps.data.ageRating

import foundation.e.apps.data.blockedApps.ContentRatingGroup
import retrofit2.Response
import retrofit2.http.GET

interface AgeGroupApi {

    companion object {
        const val BASE_URL = "https://gitlab.e.foundation/e/os/app-lounge-content-ratings/-/raw/main/"
    }

    @GET("content_ratings.json?ref_type=heads")
    suspend fun getDefinedAgeGroups(): Response<List<ContentRatingGroup>>

}
+47 −0
Original line number Original line Diff line number Diff line
/*
 *  Copyright MURENA SAS 2024
 *  Apps  Quickly and easily install Android apps onto your device!
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 */

package foundation.e.apps.di

import com.squareup.moshi.Moshi
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import foundation.e.apps.data.ageRating.AgeGroupApi
import javax.inject.Singleton
import okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory

@Module
@InstallIn(SingletonComponent::class)
object AgeRatingModule {

    @Singleton
    @Provides
    fun provideAgeGroupApi(okHttpClient: OkHttpClient, moshi: Moshi): AgeGroupApi {
        return Retrofit.Builder()
            .baseUrl(AgeGroupApi.BASE_URL)
            .client(okHttpClient)
            .addConverterFactory(MoshiConverterFactory.create(moshi))
            .build()
            .create(AgeGroupApi::class.java)
    }
}