Browse Source
ui(android): major ui/ux improvement on the android app and add crashlytics
pull/79/head
ui(android): major ui/ux improvement on the android app and add crashlytics
pull/79/head
15 changed files with 818 additions and 204 deletions
-
4android/app/build.gradle
-
3android/app/src/main/AndroidManifest.xml
-
54android/app/src/main/java/com/vernu/sms/TextBeeUtils.java
-
171android/app/src/main/java/com/vernu/sms/activities/MainActivity.java
-
6android/app/src/main/res/color/radio_button_text_color.xml
-
6android/app/src/main/res/color/radio_button_tint.xml
-
10android/app/src/main/res/drawable/ic_baseline_edit_24.xml
-
10android/app/src/main/res/drawable/ic_baseline_info_24.xml
-
678android/app/src/main/res/layout/activity_main.xml
-
17android/app/src/main/res/values-night/colors.xml
-
29android/app/src/main/res/values-night/themes.xml
-
7android/app/src/main/res/values/colors.xml
-
10android/app/src/main/res/values/styles.xml
-
14android/app/src/main/res/values/themes.xml
-
1android/build.gradle
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<selector xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<item android:state_checked="true" android:color="?attr/colorPrimary" /> |
|||
<item android:state_enabled="false" android:color="@color/text_secondary" /> |
|||
<item android:color="@color/text_primary" /> |
|||
</selector> |
|||
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<selector xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<item android:state_checked="true" android:color="?attr/colorPrimary" /> |
|||
<item android:state_enabled="false" android:color="@color/text_secondary" /> |
|||
<item android:color="@color/text_secondary" /> |
|||
</selector> |
|||
@ -0,0 +1,10 @@ |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportWidth="24" |
|||
android:viewportHeight="24" |
|||
android:tint="?attr/colorControlNormal"> |
|||
<path |
|||
android:fillColor="@android:color/white" |
|||
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/> |
|||
</vector> |
|||
@ -0,0 +1,10 @@ |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportWidth="24" |
|||
android:viewportHeight="24" |
|||
android:tint="?attr/colorControlNormal"> |
|||
<path |
|||
android:fillColor="@android:color/white" |
|||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/> |
|||
</vector> |
|||
@ -1,303 +1,607 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<RelativeLayout 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" |
|||
android:background="@color/background_primary" |
|||
tools:context=".activities.MainActivity"> |
|||
|
|||
|
|||
<ScrollView |
|||
android:id="@+id/scrollView2" |
|||
<!-- Sticky Header Section --> |
|||
<LinearLayout |
|||
android:id="@+id/stickyHeader" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent"> |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
<!-- Header Section --> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
android:background="?attr/colorPrimary" |
|||
android:orientation="vertical" |
|||
android:padding="24dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="textbee.dev - sms gateway" |
|||
android:textAlignment="center" |
|||
android:textColor="@color/white" |
|||
android:textSize="22sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Enter your API key or scan the QR code below to get started" |
|||
android:textSize="20dp" |
|||
android:layout_margin="5dp" |
|||
android:layout_marginTop="8dp" |
|||
android:layout_marginBottom="8dp" |
|||
android:text="Your ultimate solution for seamless SMS communication" |
|||
android:textAlignment="center" |
|||
android:layout_gravity="center" /> |
|||
android:textColor="@color/white" |
|||
android:textSize="12sp" /> |
|||
</LinearLayout> |
|||
|
|||
<!-- Device Info Card --> |
|||
<androidx.cardview.widget.CardView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginHorizontal="16dp" |
|||
android:layout_marginTop="-24dp" |
|||
android:layout_marginBottom="16dp" |
|||
app:cardBackgroundColor="@color/background_secondary" |
|||
app:cardCornerRadius="8dp" |
|||
app:cardElevation="4dp"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="#ccccccee" |
|||
android:layout_margin="5dp" |
|||
android:orientation="horizontal"> |
|||
android:gravity="center" |
|||
android:orientation="horizontal" |
|||
android:padding="6dp"> |
|||
|
|||
<ImageView |
|||
android:layout_width="48dp" |
|||
android:layout_height="48dp" |
|||
android:layout_gravity="center" |
|||
android:padding="3dp" |
|||
android:src="@drawable/ic_baseline_phone_android_24" |
|||
android:tint="?attr/colorPrimary" /> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:layout_marginStart="3dp" |
|||
android:layout_weight="1" |
|||
android:orientation="vertical" |
|||
android:padding="5dp"> |
|||
|
|||
<EditText |
|||
android:id="@+id/apiKeyEditText" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:ems="10" |
|||
android:hint="API Key" |
|||
android:inputType="text" |
|||
android:minHeight="48dp" |
|||
android:textIsSelectable="true" /> |
|||
android:orientation="vertical"> |
|||
|
|||
<EditText |
|||
android:id="@+id/fcmTokenEditText" |
|||
<TextView |
|||
android:id="@+id/deviceBrandAndModelTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:ems="10" |
|||
android:enabled="false" |
|||
android:gravity="start|top" |
|||
android:hint="FCM Token" |
|||
android:inputType="textMultiLine" |
|||
android:visibility="gone" /> |
|||
android:text="Device Brand, Model" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="16sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<Button |
|||
android:id="@+id/registerDeviceBtn" |
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Register" /> |
|||
android:gravity="center_vertical" |
|||
android:orientation="horizontal"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Device ID:" |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="12sp" /> |
|||
|
|||
<TextView |
|||
android:id="@+id/deviceIdTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="2dp" |
|||
android:text="ae5ce05c05cde3" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="12sp" /> |
|||
|
|||
<ImageButton |
|||
android:id="@+id/copyDeviceIdImgBtn" |
|||
android:layout_width="24dp" |
|||
android:layout_height="24dp" |
|||
android:layout_marginStart="2dp" |
|||
android:background="?attr/selectableItemBackgroundBorderless" |
|||
android:padding="2dp" |
|||
android:src="@drawable/ic_baseline_content_copy_24" |
|||
android:tint="?attr/colorPrimary" /> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:gravity="center" |
|||
android:orientation="vertical"> |
|||
|
|||
<Button |
|||
android:id="@+id/scanQRButton" |
|||
<Switch |
|||
android:id="@+id/gatewaySwitch" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="5dp" |
|||
android:drawableTop="@drawable/ic_baseline_qr_code_24" |
|||
android:text="Scan" |
|||
android:textColor="@color/black" |
|||
android:theme="@style/Theme.Design.Light" /> |
|||
android:minHeight="32dp" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Status" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="14sp" |
|||
android:textStyle="bold" /> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.cardview.widget.CardView> |
|||
</LinearLayout> |
|||
|
|||
<!-- Scrollable Content --> |
|||
<ScrollView |
|||
android:id="@+id/scrollView2" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_below="@id/stickyHeader"> |
|||
|
|||
<LinearLayout |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
<!-- API Key Registration Card --> |
|||
<androidx.cardview.widget.CardView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:gravity="center" |
|||
android:layout_margin="5dp" |
|||
android:orientation="horizontal"> |
|||
android:layout_marginHorizontal="16dp" |
|||
android:layout_marginBottom="16dp" |
|||
app:cardBackgroundColor="@color/background_secondary" |
|||
app:cardCornerRadius="8dp" |
|||
app:cardElevation="2dp"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
android:orientation="vertical" |
|||
android:padding="16dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginBottom="16dp" |
|||
android:text="Account Information" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="18sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<!-- Device ID Input Field --> |
|||
<com.google.android.material.textfield.TextInputLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginBottom="16dp" |
|||
android:hint="Device ID (optional)" |
|||
app:boxBackgroundColor="@android:color/transparent" |
|||
app:boxStrokeColor="?attr/colorPrimary" |
|||
app:hintTextColor="?attr/colorPrimary" |
|||
app:endIconMode="custom" |
|||
app:endIconDrawable="@drawable/ic_baseline_edit_24" |
|||
app:endIconTint="?attr/colorPrimary" |
|||
app:helperText="Leaving this field blank will register your device as new. If you have already registered this device previously, please enter the id here." |
|||
app:helperTextTextColor="@color/text_secondary"> |
|||
|
|||
<com.google.android.material.textfield.TextInputEditText |
|||
android:id="@+id/deviceIdEditText" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:inputType="text" |
|||
android:textColor="@color/text_primary" |
|||
android:textIsSelectable="true" /> |
|||
</com.google.android.material.textfield.TextInputLayout> |
|||
|
|||
<com.google.android.material.textfield.TextInputLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginBottom="16dp" |
|||
android:hint="API Key" |
|||
app:boxBackgroundColor="@android:color/transparent" |
|||
app:boxStrokeColor="?attr/colorPrimary" |
|||
app:hintTextColor="?attr/colorPrimary"> |
|||
|
|||
<com.google.android.material.textfield.TextInputEditText |
|||
android:id="@+id/apiKeyEditText" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:inputType="text" |
|||
android:textColor="@color/text_primary" |
|||
android:textIsSelectable="true" /> |
|||
</com.google.android.material.textfield.TextInputLayout> |
|||
|
|||
<ImageView |
|||
<EditText |
|||
android:id="@+id/fcmTokenEditText" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:layout_margin="5dp" |
|||
android:src="@drawable/ic_baseline_phone_android_24" /> |
|||
android:ems="10" |
|||
android:enabled="false" |
|||
android:gravity="start|top" |
|||
android:hint="FCM Token" |
|||
android:inputType="textMultiLine" |
|||
android:textColor="@color/text_primary" |
|||
android:textColorHint="@color/text_secondary" |
|||
android:visibility="gone" /> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:gravity="center_vertical" |
|||
android:orientation="horizontal"> |
|||
|
|||
<Button |
|||
android:id="@+id/registerDeviceBtn" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:backgroundTint="?attr/colorPrimary" |
|||
android:paddingHorizontal="24dp" |
|||
android:text="Connect" |
|||
android:textColor="@color/white" /> |
|||
|
|||
<View |
|||
android:layout_width="0dp" |
|||
android:layout_height="1dp" |
|||
android:layout_weight="1" /> |
|||
<Button |
|||
android:id="@+id/scanQRButton" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="5dp" |
|||
android:drawableLeft="@drawable/ic_baseline_qr_code_24" |
|||
android:text="Scan QR" |
|||
android:textColor="@color/black" |
|||
android:theme="@style/Theme.Design.Light" /> |
|||
|
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.cardview.widget.CardView> |
|||
|
|||
<!-- Configuration Card --> |
|||
<androidx.cardview.widget.CardView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginHorizontal="16dp" |
|||
android:layout_marginBottom="16dp" |
|||
app:cardBackgroundColor="@color/background_secondary" |
|||
app:cardCornerRadius="8dp" |
|||
app:cardElevation="2dp"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:layout_weight="1" |
|||
android:orientation="vertical"> |
|||
android:orientation="vertical" |
|||
android:padding="16dp"> |
|||
|
|||
<TextView |
|||
|
|||
android:id="@+id/deviceBrandAndModelTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Device Brand, Model" |
|||
android:layout_marginBottom="16dp" |
|||
android:text="Configuration" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="18sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<!-- Permissions Section --> |
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:gravity="center" |
|||
android:orientation="horizontal"> |
|||
android:orientation="vertical" |
|||
android:layout_marginBottom="16dp"> |
|||
|
|||
<LinearLayout |
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:text="SMS Permissions" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="16sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="REQUIRED for textbee to function!" |
|||
android:textColor="@android:color/holo_red_dark" |
|||
android:textSize="14sp" |
|||
android:textStyle="bold" |
|||
android:layout_marginBottom="8dp" /> |
|||
|
|||
<Button |
|||
android:id="@+id/grantSMSPermissionBtn" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:backgroundTint="?attr/colorPrimary" |
|||
android:text="Grant SMS Permissions" |
|||
android:textColor="@color/white" |
|||
android:visibility="visible" /> |
|||
</LinearLayout> |
|||
|
|||
<View |
|||
android:layout_width="match_parent" |
|||
android:layout_height="1dp" |
|||
android:background="@color/divider" |
|||
android:layout_marginBottom="16dp" /> |
|||
|
|||
<!-- Receive SMS Toggle --> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:gravity="center_vertical" |
|||
android:layout_marginBottom="16dp"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_weight="1" |
|||
android:orientation="vertical"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Device ID" |
|||
android:textStyle="italic" /> |
|||
android:text="Receive SMS" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="16sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:id="@+id/deviceIdTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="ae5ce05c05cde3" /> |
|||
android:text="Toggle to enable SMS receiving" |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="14sp" /> |
|||
</LinearLayout> |
|||
|
|||
<ImageButton |
|||
|
|||
android:id="@+id/copyDeviceIdImgBtn" |
|||
<Switch |
|||
android:id="@+id/receiveSMSSwitch" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
|
|||
android:src="@drawable/ic_baseline_content_copy_24" /> |
|||
android:minHeight="32dp" /> |
|||
</LinearLayout> |
|||
|
|||
<View |
|||
android:layout_width="match_parent" |
|||
android:layout_height="1dp" |
|||
android:background="@color/divider" |
|||
android:layout_marginBottom="16dp" /> |
|||
|
|||
</LinearLayout> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:gravity="center" |
|||
android:orientation="vertical"> |
|||
|
|||
<Switch |
|||
android:id="@+id/gatewaySwitch" |
|||
<!-- Default SIM Selection --> |
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="5dp" |
|||
android:minHeight="32dp" |
|||
android:text="" /> |
|||
android:text="Default SIM" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="16sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Status" |
|||
android:textSize="16dp" |
|||
android:textStyle="bold" /> |
|||
android:layout_marginBottom="8dp" |
|||
android:text="Select your preferred SIM for sending SMS" |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="14sp" /> |
|||
|
|||
<RadioGroup |
|||
android:id="@+id/defaultSimSlotRadioGroup" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
android:layout_marginStart="8dp" /> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.cardview.widget.CardView> |
|||
|
|||
<LinearLayout |
|||
<!-- How To Use Card --> |
|||
<androidx.cardview.widget.CardView |
|||
android:id="@+id/bottom" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="30dp" |
|||
android:orientation="vertical" |
|||
android:padding="10px"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Configuration" |
|||
android:textSize="18sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<View |
|||
android:layout_width="match_parent" |
|||
android:layout_height="2dp" |
|||
android:background="#000000" /> |
|||
|
|||
<Button |
|||
android:id="@+id/grantSMSPermissionBtn" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Grant Permissions" |
|||
android:visibility="visible" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="TextBee will only work if you grant SMS Permissions" |
|||
android:textSize="14dp" |
|||
android:textStyle="italic" /> |
|||
|
|||
|
|||
<View |
|||
android:layout_width="match_parent" |
|||
android:layout_height="1dp" |
|||
android:background="#000000" /> |
|||
|
|||
<Switch |
|||
android:id="@+id/receiveSMSSwitch" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="5dp" |
|||
android:minHeight="32dp" |
|||
android:text="Receive SMS" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Toggle this if you want to receive SMS" |
|||
android:textSize="14dp" |
|||
android:textStyle="italic" /> |
|||
|
|||
|
|||
<View |
|||
android:layout_width="match_parent" |
|||
android:layout_height="1dp" |
|||
android:background="#000000" /> |
|||
|
|||
android:layout_marginHorizontal="16dp" |
|||
android:layout_marginBottom="16dp" |
|||
app:cardBackgroundColor="@color/background_secondary" |
|||
app:cardCornerRadius="8dp" |
|||
app:cardElevation="2dp"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
android:orientation="vertical" |
|||
android:padding="16dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Default SIM" |
|||
android:layout_marginBottom="8dp" |
|||
android:text="How To Use" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="18sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<RadioGroup |
|||
android:id="@+id/defaultSimSlotRadioGroup" |
|||
android:layout_width="wrap_content" |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"></RadioGroup> |
|||
</LinearLayout> |
|||
android:orientation="horizontal" |
|||
android:layout_marginBottom="8dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="24dp" |
|||
android:layout_height="24dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:background="?attr/colorPrimary" |
|||
android:gravity="center" |
|||
android:text="1" |
|||
android:textColor="@color/white" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Go to textbee.dev/dashboard" |
|||
android:textColor="@color/text_primary" /> |
|||
</LinearLayout> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Select your preferred SIM for sending SMS" |
|||
android:textSize="14dp" |
|||
android:textStyle="italic" /> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:layout_marginBottom="8dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="24dp" |
|||
android:layout_height="24dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:background="?attr/colorPrimary" |
|||
android:gravity="center" |
|||
android:text="2" |
|||
android:textColor="@color/white" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Click 'Generate API Key / Get Started'" |
|||
android:textColor="@color/text_primary" /> |
|||
</LinearLayout> |
|||
|
|||
</LinearLayout> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal"> |
|||
|
|||
<TextView |
|||
android:layout_width="24dp" |
|||
android:layout_height="24dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:background="?attr/colorPrimary" |
|||
android:gravity="center" |
|||
android:text="3" |
|||
android:textColor="@color/white" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="Copy the API key or scan the QR code" |
|||
android:textColor="@color/text_primary" /> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.cardview.widget.CardView> |
|||
|
|||
<LinearLayout |
|||
android:id="@+id/bottom" |
|||
<!-- App Version Info Card --> |
|||
<androidx.cardview.widget.CardView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="#ccccccee" |
|||
android:orientation="vertical" |
|||
android:layout_marginTop="30dp" |
|||
android:padding="12dp"> |
|||
|
|||
<TextView |
|||
android:layout_marginHorizontal="16dp" |
|||
android:layout_marginBottom="24dp" |
|||
app:cardBackgroundColor="@color/background_secondary" |
|||
app:cardCornerRadius="8dp" |
|||
app:cardElevation="2dp"> |
|||
|
|||
android:layout_width="wrap_content" |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="How To Use" |
|||
android:textStyle="bold" /> |
|||
android:orientation="vertical" |
|||
android:padding="16dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Go to textbee.dev/dashboard and click `generate API Key / Get started`, then copy and paste the API key generated or scan the QR code" /> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:gravity="center_horizontal"> |
|||
|
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</ScrollView> |
|||
<ImageView |
|||
android:layout_width="32dp" |
|||
android:layout_height="32dp" |
|||
android:src="@drawable/ic_baseline_info_24" |
|||
android:tint="?attr/colorPrimary" |
|||
android:layout_marginEnd="12dp" /> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="App Information" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="16sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
</LinearLayout> |
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:layout_marginTop="4dp"> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="Version: " |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="14sp" /> |
|||
|
|||
<TextView |
|||
android:id="@+id/appVersionNameTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="1.0.0" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="14sp" |
|||
android:textStyle="bold" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text=" (Build: " |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="14sp" |
|||
android:layout_marginStart="4dp" /> |
|||
|
|||
<TextView |
|||
android:id="@+id/appVersionCodeTxt" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text="100" |
|||
android:textColor="@color/text_primary" |
|||
android:textSize="14sp" /> |
|||
|
|||
<TextView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:text=")" |
|||
android:textColor="@color/text_secondary" |
|||
android:textSize="14sp" /> |
|||
</LinearLayout> |
|||
|
|||
<Button |
|||
android:id="@+id/checkUpdatesBtn" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="2dp" |
|||
android:text="Check for Updates" |
|||
android:textColor="?attr/colorPrimary" |
|||
android:background="@android:color/transparent" |
|||
android:textAllCaps="false" |
|||
android:paddingHorizontal="0dp" |
|||
style="@style/Widget.AppCompat.Button.Borderless" /> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</LinearLayout> |
|||
</androidx.cardview.widget.CardView> |
|||
</LinearLayout> |
|||
</ScrollView> |
|||
</RelativeLayout> |
|||
@ -0,0 +1,17 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<resources> |
|||
<color name="purple_200">#FFBB86FC</color> |
|||
<color name="purple_500">#FF6200EE</color> |
|||
<color name="purple_700">#FF3700B3</color> |
|||
<color name="teal_200">#FF03DAC5</color> |
|||
<color name="teal_700">#FF018786</color> |
|||
<color name="black">#FF000000</color> |
|||
<color name="white">#FFFFFFFF</color> |
|||
|
|||
<!-- Dark mode specific colors --> |
|||
<color name="background_primary">#121212</color> |
|||
<color name="background_secondary">#1E1E1E</color> |
|||
<color name="text_primary">#FFFFFF</color> |
|||
<color name="text_secondary">#B3FFFFFF</color> <!-- 70% white --> |
|||
<color name="divider">#454545</color> |
|||
</resources> |
|||
@ -0,0 +1,10 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<resources> |
|||
<style name="RadioButtonStyle" parent="Widget.AppCompat.CompoundButton.RadioButton"> |
|||
<item name="android:textColor">@color/radio_button_text_color</item> |
|||
<item name="android:paddingStart">8dp</item> |
|||
<item name="android:paddingTop">12dp</item> |
|||
<item name="android:paddingBottom">12dp</item> |
|||
<item name="android:buttonTint">?attr/colorPrimary</item> |
|||
</style> |
|||
</resources> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue