Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 4 additions & 20 deletions .github/workflows/build-apk.yml
Original file line number Diff line number Diff line change
@@ -1,60 +1,44 @@
name: Flutter APK Build

on:
# যখনই main ব্রাঞ্চে কোড পুশ করা হবে
push:
branches: [ main ]
# ইচ্ছে করলে Pull Request এর জন্যও চালানো যায়
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
build-android:
name: Build Android APK
# Linux রানার ব্যবহার করুন (এটা ফ্রি এবং দ্রুত) [citation:4]
runs-on: ubuntu-latest

steps:
# ১. আপনার রিপোজিটরির কোড ডাউনলোড করা [citation:5]
- name: Checkout code
uses: actions/checkout@v4

# ২. Java সেটআপ করা (Flutter Android বিল্ডের জন্য বাধ্যতামূলক) [citation:5][citation:8]
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'

# ৩. Flutter এনভায়রনমেন্ট সেটআপ করা (ক্যাশিং চালু করে, যেন পরের বার দ্রুত কাজ করে) [citation:5][citation:7]
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
# এই অপশনটা Flutter আর Pub ডিপেন্ডেন্সি ক্যাশ করে দেয়, বিল্ড স্পিড বাড়ায়
cache: true
cache: true

# ৪. প্রোজেক্টের ডিপেন্ডেন্সি ইনস্টল করা [citation:4][citation:8]
- name: Get dependencies
run: flutter pub get

# ৫. (অপশনাল) কোড চেক করা - প্রোডাকশনের জন্য ভালো অভ্যাস [citation:1][citation:4]
- name: Analyze code
run: flutter analyze

# ৬. (অপশনাল) টেস্ট রান করা [citation:1][citation:4]
- name: Run tests
run: flutter test

# ৭. রিলিজ APK বিল্ড করা [citation:5]
- name: Build APK
run: flutter build apk --release

# ৮. বিল্ড আউটপুট জমা রাখা (আপনি GitHub থেকেই ডাউনলোড করতে পারবেন) [citation:1][citation:8]
- name: Upload APK Artifact
uses: actions/upload-artifact@v4
with:
name: release-apk
path: build/app/outputs/flutter-apk/app-release.apk
# ৩০ দিন পর আউটপুট ডিলিট হয়ে যাবে, যা স্টোরেজ বাঁচায় [citation:1]
retention-days: 30
retention-days: 3
4 changes: 2 additions & 2 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

android {
namespace = "com.example.paygate"
namespace = "com.paygate.f"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion

Expand All @@ -16,7 +16,7 @@ android {

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.paygate"
applicationId = "com.paygate.f"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
Expand Down
3 changes: 2 additions & 1 deletion android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

<application
android:label="PayGate SMS"
android:label="PayGate"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:usesCleartextTraffic="true">

<activity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.paygate
package com.paygate.f

import android.content.BroadcastReceiver
import android.content.Context
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.paygate
package com.paygate.f

import android.Manifest
import android.content.pm.PackageManager
Expand All @@ -9,7 +9,7 @@ import io.flutter.plugin.common.MethodChannel
import androidx.core.app.ActivityCompat

class MainActivity : FlutterActivity() {
private val CHANNEL = "com.example.paygate/sms"
private val CHANNEL = "com.paygate.f/sms"

override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.paygate
package com.paygate.f

import android.app.*
import android.content.Context
Expand Down Expand Up @@ -49,7 +49,7 @@ class SmsPollingService : Service() {
override fun onCreate() {
super.onCreate()
createNotificationChannel()
startForeground(NOTIF_ID, buildNotification("SMS Forwarding চলছে..."))
startForeground(NOTIF_ID, buildNotification("SMS Forwarding is running..."))
Log.d(TAG, "Service created")
}

Expand Down Expand Up @@ -144,9 +144,9 @@ class SmsPollingService : Service() {
}

val notifText = if (forwarded > 0)
"✅ $forwarded টি নতুন SMS forward করা হয়েছে"
"✅ $forwarded new SMS(s) forwarded successfully"
else
"SMS Forwarding চলছে... (প্রতি ১৫ সেকেন্ডে check)"
"SMS Forwarding is running... (checking every 15 seconds)"

updateNotification(notifText)
Log.d(TAG, "Poll done — forwarded: $forwarded")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.paygate
package com.paygate.f

import android.content.BroadcastReceiver
import android.content.Context
Expand Down
Binary file modified android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading