diff --git a/.github/workflows/android-release.yml b/.github/workflows/android-release.yml new file mode 100644 index 0000000..b42dd9d --- /dev/null +++ b/.github/workflows/android-release.yml @@ -0,0 +1,101 @@ +name: Android Release +env: + main_project_module: app +on: + push: + tags: + - 'v*' + workflow_dispatch: +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + # Set Current Date As Env Variable + - name: Set current date as env variable + run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV + + # Set Repository Name As Env Variable + - name: Set repository name as env variable + run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV + + - name: set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + # Run Tests Build + - name: Run gradle tests + run: ./gradlew test + + - name: Build with Gradle + run: ./gradlew build + + - name: Archive lint results + if: always() + uses: actions/upload-artifact@v3 + with: + name: lint-report + path: app/build/reports/lint-results-debug.html + + # Create APK Debug + - name: Build apk debug project (APK) - ${{ env.main_project_module }} module + run: ./gradlew assembleDebug + + # Create APK Release + - name: Build apk release project (APK) - ${{ env.main_project_module }} module + run: ./gradlew assemble + + # Create Bundle AAB Release + # Noted for main module build [main_project_module]:bundleRelease + - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module + run: ./gradlew ${{ env.main_project_module }}:bundleRelease + + # Upload Artifact Build + # Noted For Output [main_project_module]/build/outputs/apk/debug/ + - name: Upload APK Debug - ${{ env.repository_name }} + uses: actions/upload-artifact@v2 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated + path: ${{ env.main_project_module }}/build/outputs/apk/debug/ + + # Noted For Output [main_project_module]/build/outputs/apk/release/ + - name: Upload APK Release - ${{ env.repository_name }} + uses: actions/upload-artifact@v2 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated + path: ${{ env.main_project_module }}/build/outputs/apk/release/ + + # Noted For Output [main_project_module]/build/outputs/bundle/release/ + - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }} + uses: actions/upload-artifact@v2 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated + path: ${{ env.main_project_module }}/build/outputs/bundle/release/ + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: false + + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ env.main_project_module }}/build/outputs/apk/ta//co//release/app-release-unsigned.apk # Update this with the correct APK path + asset_name: app-release-unsigned.apk + asset_content_type: application/vnd.android.package-archive diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 0000000..dcbffce --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,37 @@ +name: Android CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + # Run Tests Build + - name: Run gradle tests + run: ./gradlew test + + - name: Build with Gradle + run: ./gradlew build + + - name: Archive lint results + if: always() + uses: actions/upload-artifact@v3 + with: + name: lint-report + path: app/build/reports/lint-results-debug.html \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ce43656..0dba4ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,6 +17,8 @@ + + diff --git a/app/src/main/java/com/matthaigh27/chatgptwrapper/MainActivity.kt b/app/src/main/java/com/matthaigh27/chatgptwrapper/MainActivity.kt index 0c92c5c..8428b5e 100644 --- a/app/src/main/java/com/matthaigh27/chatgptwrapper/MainActivity.kt +++ b/app/src/main/java/com/matthaigh27/chatgptwrapper/MainActivity.kt @@ -2,6 +2,7 @@ package com.matthaigh27.chatgptwrapper import android.annotation.SuppressLint import android.app.Activity +import android.content.Intent import android.graphics.Color import android.os.Build import android.os.Bundle @@ -11,6 +12,7 @@ import android.webkit.WebViewClient import android.window.OnBackInvokedDispatcher import com.matthaigh27.chatgptwrapper.databinding.ActivityMainBinding + class MainActivity : Activity() { private val userAgent = "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.57 Mobile Safari/537.36" @@ -21,6 +23,9 @@ class MainActivity : Activity() { @SuppressLint("SetJavaScriptEnabled") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + + binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) webView = binding.webView @@ -46,6 +51,11 @@ class MainActivity : Activity() { webView.webViewClient = WebViewClient() webView.loadUrl(chatUrl) +// val intent = Intent(Intent.ACTION_MAIN) + // intent.addCategory(Intent.CATEGORY_HOME) + // intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + // startActivity(intent) +// finish() } @Deprecated("Deprecated in Java")