Add .gitignore, remove build artifacts from repo
This commit is contained in:
parent
16d2f2164c
commit
9811d73d3f
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Gradle
|
||||||
|
.gradle/
|
||||||
|
build/
|
||||||
|
app/build/
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea/
|
||||||
|
*.iml
|
||||||
|
local.properties
|
||||||
|
|
||||||
|
# Generated
|
||||||
|
*.apk
|
||||||
|
*.aab
|
||||||
|
*.ap_
|
||||||
|
*.dex
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,2 +0,0 @@
|
||||||
#Wed Jan 28 08:08:47 UTC 2026
|
|
||||||
gradle.version=8.5
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,210 +0,0 @@
|
||||||
// Generated by view binder compiler. Do not edit!
|
|
||||||
package com.inou.clawdnode.databinding;
|
|
||||||
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.EditText;
|
|
||||||
import android.widget.ScrollView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.viewbinding.ViewBinding;
|
|
||||||
import androidx.viewbinding.ViewBindings;
|
|
||||||
import com.inou.clawdnode.R;
|
|
||||||
import java.lang.NullPointerException;
|
|
||||||
import java.lang.Override;
|
|
||||||
import java.lang.String;
|
|
||||||
|
|
||||||
public final class ActivityMainBinding implements ViewBinding {
|
|
||||||
@NonNull
|
|
||||||
private final ScrollView rootView;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnConnect;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnDisconnect;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnGrantCallScreening;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnGrantNotifications;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnGrantPermissions;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnSaveGateway;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final Button btnViewAuditLog;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final EditText etGatewayToken;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final EditText etGatewayUrl;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final TextView tvCallScreeningStatus;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final TextView tvConnectionStatus;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final TextView tvLiveLog;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final TextView tvNotificationStatus;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public final TextView tvPermissionsStatus;
|
|
||||||
|
|
||||||
private ActivityMainBinding(@NonNull ScrollView rootView, @NonNull Button btnConnect,
|
|
||||||
@NonNull Button btnDisconnect, @NonNull Button btnGrantCallScreening,
|
|
||||||
@NonNull Button btnGrantNotifications, @NonNull Button btnGrantPermissions,
|
|
||||||
@NonNull Button btnSaveGateway, @NonNull Button btnViewAuditLog,
|
|
||||||
@NonNull EditText etGatewayToken, @NonNull EditText etGatewayUrl,
|
|
||||||
@NonNull TextView tvCallScreeningStatus, @NonNull TextView tvConnectionStatus,
|
|
||||||
@NonNull TextView tvLiveLog, @NonNull TextView tvNotificationStatus,
|
|
||||||
@NonNull TextView tvPermissionsStatus) {
|
|
||||||
this.rootView = rootView;
|
|
||||||
this.btnConnect = btnConnect;
|
|
||||||
this.btnDisconnect = btnDisconnect;
|
|
||||||
this.btnGrantCallScreening = btnGrantCallScreening;
|
|
||||||
this.btnGrantNotifications = btnGrantNotifications;
|
|
||||||
this.btnGrantPermissions = btnGrantPermissions;
|
|
||||||
this.btnSaveGateway = btnSaveGateway;
|
|
||||||
this.btnViewAuditLog = btnViewAuditLog;
|
|
||||||
this.etGatewayToken = etGatewayToken;
|
|
||||||
this.etGatewayUrl = etGatewayUrl;
|
|
||||||
this.tvCallScreeningStatus = tvCallScreeningStatus;
|
|
||||||
this.tvConnectionStatus = tvConnectionStatus;
|
|
||||||
this.tvLiveLog = tvLiveLog;
|
|
||||||
this.tvNotificationStatus = tvNotificationStatus;
|
|
||||||
this.tvPermissionsStatus = tvPermissionsStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@NonNull
|
|
||||||
public ScrollView getRoot() {
|
|
||||||
return rootView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater) {
|
|
||||||
return inflate(inflater, null, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater,
|
|
||||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
|
||||||
View root = inflater.inflate(R.layout.activity_main, parent, false);
|
|
||||||
if (attachToParent) {
|
|
||||||
parent.addView(root);
|
|
||||||
}
|
|
||||||
return bind(root);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public static ActivityMainBinding bind(@NonNull View rootView) {
|
|
||||||
// The body of this method is generated in a way you would not otherwise write.
|
|
||||||
// This is done to optimize the compiled bytecode for size and performance.
|
|
||||||
int id;
|
|
||||||
missingId: {
|
|
||||||
id = R.id.btnConnect;
|
|
||||||
Button btnConnect = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnConnect == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnDisconnect;
|
|
||||||
Button btnDisconnect = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnDisconnect == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnGrantCallScreening;
|
|
||||||
Button btnGrantCallScreening = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnGrantCallScreening == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnGrantNotifications;
|
|
||||||
Button btnGrantNotifications = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnGrantNotifications == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnGrantPermissions;
|
|
||||||
Button btnGrantPermissions = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnGrantPermissions == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnSaveGateway;
|
|
||||||
Button btnSaveGateway = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnSaveGateway == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.btnViewAuditLog;
|
|
||||||
Button btnViewAuditLog = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (btnViewAuditLog == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.etGatewayToken;
|
|
||||||
EditText etGatewayToken = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (etGatewayToken == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.etGatewayUrl;
|
|
||||||
EditText etGatewayUrl = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (etGatewayUrl == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.tvCallScreeningStatus;
|
|
||||||
TextView tvCallScreeningStatus = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (tvCallScreeningStatus == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.tvConnectionStatus;
|
|
||||||
TextView tvConnectionStatus = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (tvConnectionStatus == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.tvLiveLog;
|
|
||||||
TextView tvLiveLog = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (tvLiveLog == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.tvNotificationStatus;
|
|
||||||
TextView tvNotificationStatus = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (tvNotificationStatus == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = R.id.tvPermissionsStatus;
|
|
||||||
TextView tvPermissionsStatus = ViewBindings.findChildViewById(rootView, id);
|
|
||||||
if (tvPermissionsStatus == null) {
|
|
||||||
break missingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new ActivityMainBinding((ScrollView) rootView, btnConnect, btnDisconnect,
|
|
||||||
btnGrantCallScreening, btnGrantNotifications, btnGrantPermissions, btnSaveGateway,
|
|
||||||
btnViewAuditLog, etGatewayToken, etGatewayUrl, tvCallScreeningStatus, tvConnectionStatus,
|
|
||||||
tvLiveLog, tvNotificationStatus, tvPermissionsStatus);
|
|
||||||
}
|
|
||||||
String missingId = rootView.getResources().getResourceName(id);
|
|
||||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
/**
|
|
||||||
* Automatically generated file. DO NOT MODIFY
|
|
||||||
*/
|
|
||||||
package com.inou.clawdnode;
|
|
||||||
|
|
||||||
public final class BuildConfig {
|
|
||||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
|
||||||
public static final String APPLICATION_ID = "com.inou.clawdnode";
|
|
||||||
public static final String BUILD_TYPE = "debug";
|
|
||||||
public static final int VERSION_CODE = 1;
|
|
||||||
public static final String VERSION_NAME = "0.1.0";
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{}
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
appMetadataVersion=1.1
|
|
||||||
androidGradlePluginVersion=8.2.2
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"artifactType": {
|
|
||||||
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
|
||||||
"kind": "Directory"
|
|
||||||
},
|
|
||||||
"applicationId": "com.inou.clawdnode",
|
|
||||||
"variantName": "debug",
|
|
||||||
"elements": []
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.inou.clawdnode" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_main_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="287" endOffset="12"/></Target><Target id="@+id/tvConnectionStatus" view="TextView"><Expressions/><location startLine="33" startOffset="8" endLine="41" endOffset="48"/></Target><Target id="@+id/etGatewayUrl" view="EditText"><Expressions/><location startLine="53" startOffset="8" endLine="61" endOffset="47"/></Target><Target id="@+id/etGatewayToken" view="EditText"><Expressions/><location startLine="63" startOffset="8" endLine="71" endOffset="48"/></Target><Target id="@+id/btnSaveGateway" view="Button"><Expressions/><location startLine="73" startOffset="8" endLine="80" endOffset="48"/></Target><Target id="@+id/btnConnect" view="Button"><Expressions/><location startLine="89" startOffset="12" endLine="97" endOffset="48"/></Target><Target id="@+id/btnDisconnect" view="Button"><Expressions/><location startLine="99" startOffset="12" endLine="106" endOffset="45"/></Target><Target id="@+id/tvNotificationStatus" view="TextView"><Expressions/><location startLine="141" startOffset="16" endLine="147" endOffset="49"/></Target><Target id="@+id/btnGrantNotifications" view="Button"><Expressions/><location startLine="151" startOffset="12" endLine="157" endOffset="45"/></Target><Target id="@+id/tvCallScreeningStatus" view="TextView"><Expressions/><location startLine="182" startOffset="16" endLine="188" endOffset="49"/></Target><Target id="@+id/btnGrantCallScreening" view="Button"><Expressions/><location startLine="192" startOffset="12" endLine="198" endOffset="45"/></Target><Target id="@+id/tvPermissionsStatus" view="TextView"><Expressions/><location startLine="223" startOffset="16" endLine="229" endOffset="49"/></Target><Target id="@+id/btnGrantPermissions" view="Button"><Expressions/><location startLine="233" startOffset="12" endLine="239" endOffset="45"/></Target><Target id="@+id/tvLiveLog" view="TextView"><Expressions/><location startLine="253" startOffset="8" endLine="264" endOffset="48"/></Target><Target id="@+id/btnViewAuditLog" view="Button"><Expressions/><location startLine="267" startOffset="8" endLine="274" endOffset="48"/></Target></Targets></Layout>
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.inou.clawdnode" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_main_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="287" endOffset="12"/></Target><Target id="@+id/tvConnectionStatus" view="TextView"><Expressions/><location startLine="33" startOffset="8" endLine="41" endOffset="48"/></Target><Target id="@+id/etGatewayUrl" view="EditText"><Expressions/><location startLine="53" startOffset="8" endLine="61" endOffset="47"/></Target><Target id="@+id/etGatewayToken" view="EditText"><Expressions/><location startLine="63" startOffset="8" endLine="71" endOffset="48"/></Target><Target id="@+id/btnSaveGateway" view="Button"><Expressions/><location startLine="73" startOffset="8" endLine="80" endOffset="48"/></Target><Target id="@+id/btnConnect" view="Button"><Expressions/><location startLine="89" startOffset="12" endLine="97" endOffset="48"/></Target><Target id="@+id/btnDisconnect" view="Button"><Expressions/><location startLine="99" startOffset="12" endLine="106" endOffset="45"/></Target><Target id="@+id/tvNotificationStatus" view="TextView"><Expressions/><location startLine="141" startOffset="16" endLine="147" endOffset="49"/></Target><Target id="@+id/btnGrantNotifications" view="Button"><Expressions/><location startLine="151" startOffset="12" endLine="157" endOffset="45"/></Target><Target id="@+id/tvCallScreeningStatus" view="TextView"><Expressions/><location startLine="182" startOffset="16" endLine="188" endOffset="49"/></Target><Target id="@+id/btnGrantCallScreening" view="Button"><Expressions/><location startLine="192" startOffset="12" endLine="198" endOffset="45"/></Target><Target id="@+id/tvPermissionsStatus" view="TextView"><Expressions/><location startLine="223" startOffset="16" endLine="229" endOffset="49"/></Target><Target id="@+id/btnGrantPermissions" view="Button"><Expressions/><location startLine="233" startOffset="12" endLine="239" endOffset="45"/></Target><Target id="@+id/tvLiveLog" view="TextView"><Expressions/><location startLine="253" startOffset="8" endLine="264" endOffset="48"/></Target><Target id="@+id/btnViewAuditLog" view="Button"><Expressions/><location startLine="267" startOffset="8" endLine="274" endOffset="48"/></Target></Targets></Layout>
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,7 +0,0 @@
|
||||||
#Wed Jan 28 08:28:34 UTC 2026
|
|
||||||
com.inou.clawdnode.app-main-37\:/drawable/ic_notification.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/drawable_ic_notification.xml.flat
|
|
||||||
com.inou.clawdnode.app-main-37\:/drawable/input_background.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/drawable_input_background.xml.flat
|
|
||||||
com.inou.clawdnode.app-main-37\:/mipmap-hdpi/ic_launcher.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher.xml.flat
|
|
||||||
com.inou.clawdnode.app-main-37\:/mipmap-hdpi/ic_launcher_round.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher_round.xml.flat
|
|
||||||
com.inou.clawdnode.app-main-37\:/xml/network_security_config.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/xml_network_security_config.xml.flat
|
|
||||||
com.inou.clawdnode.app-mergeDebugResources-34\:/layout/activity_main.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/merged_res/debug/layout_activity_main.xml.flat
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,288 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:padding="24dp"
|
|
||||||
android:background="#F8F7F6"
|
|
||||||
tools:context=".ui.MainActivity">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<!-- Header -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="ClawdNode"
|
|
||||||
android:textSize="28sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#B45309"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="AI-powered phone assistant"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#78716C"
|
|
||||||
android:layout_marginBottom="32dp" />
|
|
||||||
|
|
||||||
<!-- Connection Status -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvConnectionStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Disconnected"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#DC2626"
|
|
||||||
android:layout_marginBottom="24dp" />
|
|
||||||
|
|
||||||
<!-- Gateway Configuration -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Gateway Configuration"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/etGatewayUrl"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:hint="Gateway URL (e.g., http://100.x.x.x:18789)"
|
|
||||||
android:inputType="textUri"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:background="@drawable/input_background"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/etGatewayToken"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:hint="Gateway Token"
|
|
||||||
android:inputType="textPassword"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:background="@drawable/input_background"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnSaveGateway"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Save Configuration"
|
|
||||||
android:backgroundTint="#B45309"
|
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:layout_marginBottom="24dp" />
|
|
||||||
|
|
||||||
<!-- Connection Controls -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_marginBottom="32dp">
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnConnect"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:text="Connect"
|
|
||||||
android:backgroundTint="#059669"
|
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:layout_marginEnd="8dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnDisconnect"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:text="Disconnect"
|
|
||||||
android:backgroundTint="#DC2626"
|
|
||||||
android:textColor="#FFFFFF" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Permissions Section -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Permissions"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<!-- Notification Listener -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="8dp">
|
|
||||||
|
|
||||||
<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="Notification Access"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvNotificationStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Not granted"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantNotifications"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Call Screening -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="8dp">
|
|
||||||
|
|
||||||
<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="Call Screening"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvCallScreeningStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Not granted"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantCallScreening"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Runtime Permissions -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="24dp">
|
|
||||||
|
|
||||||
<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="Phone & Audio Permissions"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvPermissionsStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Some missing"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantPermissions"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Live Log -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Connection Log"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLiveLog"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="200dp"
|
|
||||||
android:background="#1C1917"
|
|
||||||
android:textColor="#22C55E"
|
|
||||||
android:fontFamily="monospace"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:scrollbars="vertical"
|
|
||||||
android:gravity="bottom"
|
|
||||||
android:layout_marginBottom="16dp" />
|
|
||||||
|
|
||||||
<!-- Audit Log -->
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnViewAuditLog"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="View Audit Log"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="16dp" />
|
|
||||||
|
|
||||||
<!-- Version -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="v0.1.0 • Security-first design"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#A8A29E"
|
|
||||||
android:layout_gravity="center_horizontal" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</ScrollView>
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
#Wed Jan 28 08:28:34 UTC 2026
|
|
||||||
com.inou.clawdnode.app-main-5\:/drawable/ic_notification.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/drawable/ic_notification.xml
|
|
||||||
com.inou.clawdnode.app-main-5\:/drawable/input_background.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/drawable/input_background.xml
|
|
||||||
com.inou.clawdnode.app-main-5\:/mipmap-hdpi/ic_launcher.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.xml
|
|
||||||
com.inou.clawdnode.app-main-5\:/mipmap-hdpi/ic_launcher_round.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.xml
|
|
||||||
com.inou.clawdnode.app-main-5\:/xml/network_security_config.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/xml/network_security_config.xml
|
|
||||||
com.inou.clawdnode.app-packageDebugResources-2\:/layout/activity_main.xml=/home/johan/dev/clawdnode-android/app/build/intermediates/packaged_res/debug/layout/activity_main.xml
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/main/res"><file name="ic_launcher" path="/home/johan/dev/clawdnode-android/app/src/main/res/mipmap-hdpi/ic_launcher.xml" qualifiers="hdpi-v4" type="mipmap"/><file name="ic_launcher_round" path="/home/johan/dev/clawdnode-android/app/src/main/res/mipmap-hdpi/ic_launcher_round.xml" qualifiers="hdpi-v4" type="mipmap"/><file path="/home/johan/dev/clawdnode-android/app/src/main/res/values/colors.xml" qualifiers=""><color name="ic_launcher_background">#B45309</color></file><file path="/home/johan/dev/clawdnode-android/app/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">ClawdNode</string></file><file path="/home/johan/dev/clawdnode-android/app/src/main/res/values/themes.xml" qualifiers=""><style name="Theme.ClawdNode" parent="Theme.Material3.Light.NoActionBar">
|
|
||||||
<item name="colorPrimary">#B45309</item>
|
|
||||||
<item name="colorPrimaryDark">#92400E</item>
|
|
||||||
<item name="colorAccent">#B45309</item>
|
|
||||||
<item name="android:statusBarColor">#F8F7F6</item>
|
|
||||||
<item name="android:windowLightStatusBar">true</item>
|
|
||||||
</style></file><file name="network_security_config" path="/home/johan/dev/clawdnode-android/app/src/main/res/xml/network_security_config.xml" qualifiers="" type="xml"/><file name="input_background" path="/home/johan/dev/clawdnode-android/app/src/main/res/drawable/input_background.xml" qualifiers="" type="drawable"/><file name="ic_notification" path="/home/johan/dev/clawdnode-android/app/src/main/res/drawable/ic_notification.xml" qualifiers="" type="drawable"/><file name="activity_main" path="/home/johan/dev/clawdnode-android/app/src/main/res/layout/activity_main.xml" qualifiers="" type="layout"/></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
|
|
||||||
|
|
@ -1,288 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:padding="24dp"
|
|
||||||
android:background="#F8F7F6"
|
|
||||||
tools:context=".ui.MainActivity">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<!-- Header -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="ClawdNode"
|
|
||||||
android:textSize="28sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#B45309"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="AI-powered phone assistant"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#78716C"
|
|
||||||
android:layout_marginBottom="32dp" />
|
|
||||||
|
|
||||||
<!-- Connection Status -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvConnectionStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Disconnected"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#DC2626"
|
|
||||||
android:layout_marginBottom="24dp" />
|
|
||||||
|
|
||||||
<!-- Gateway Configuration -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Gateway Configuration"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/etGatewayUrl"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:hint="Gateway URL (e.g., http://100.x.x.x:18789)"
|
|
||||||
android:inputType="textUri"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:background="@drawable/input_background"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/etGatewayToken"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:hint="Gateway Token"
|
|
||||||
android:inputType="textPassword"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:background="@drawable/input_background"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnSaveGateway"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Save Configuration"
|
|
||||||
android:backgroundTint="#B45309"
|
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:layout_marginBottom="24dp" />
|
|
||||||
|
|
||||||
<!-- Connection Controls -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_marginBottom="32dp">
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnConnect"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:text="Connect"
|
|
||||||
android:backgroundTint="#059669"
|
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:layout_marginEnd="8dp" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnDisconnect"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:text="Disconnect"
|
|
||||||
android:backgroundTint="#DC2626"
|
|
||||||
android:textColor="#FFFFFF" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Permissions Section -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Permissions"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="12dp" />
|
|
||||||
|
|
||||||
<!-- Notification Listener -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="8dp">
|
|
||||||
|
|
||||||
<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="Notification Access"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvNotificationStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Not granted"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantNotifications"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Call Screening -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="8dp">
|
|
||||||
|
|
||||||
<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="Call Screening"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvCallScreeningStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Not granted"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantCallScreening"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Runtime Permissions -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:layout_marginBottom="24dp">
|
|
||||||
|
|
||||||
<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="Phone & Audio Permissions"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvPermissionsStatus"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="✗ Some missing"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#78716C" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnGrantPermissions"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Grant"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Live Log -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Connection Log"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLiveLog"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="200dp"
|
|
||||||
android:background="#1C1917"
|
|
||||||
android:textColor="#22C55E"
|
|
||||||
android:fontFamily="monospace"
|
|
||||||
android:textSize="11sp"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:scrollbars="vertical"
|
|
||||||
android:gravity="bottom"
|
|
||||||
android:layout_marginBottom="16dp" />
|
|
||||||
|
|
||||||
<!-- Audit Log -->
|
|
||||||
<Button
|
|
||||||
android:id="@+id/btnViewAuditLog"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="View Audit Log"
|
|
||||||
android:backgroundTint="#E5E2DE"
|
|
||||||
android:textColor="#1C1917"
|
|
||||||
android:layout_marginBottom="16dp" />
|
|
||||||
|
|
||||||
<!-- Version -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="v0.1.0 • Security-first design"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:textColor="#A8A29E"
|
|
||||||
android:layout_gravity="center_horizontal" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</ScrollView>
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/main/assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/build/intermediates/shader_assets/debug/out"/></dataSet></merger>
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/debug/jniLibs"/></dataSet></merger>
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/home/johan/dev/clawdnode-android/app/src/debug/shaders"/></dataSet></merger>
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
R_DEF: Internal format may change without notice
|
|
||||||
local
|
|
||||||
color ic_launcher_background
|
|
||||||
drawable ic_notification
|
|
||||||
drawable input_background
|
|
||||||
id btnConnect
|
|
||||||
id btnDisconnect
|
|
||||||
id btnGrantCallScreening
|
|
||||||
id btnGrantNotifications
|
|
||||||
id btnGrantPermissions
|
|
||||||
id btnSaveGateway
|
|
||||||
id btnViewAuditLog
|
|
||||||
id etGatewayToken
|
|
||||||
id etGatewayUrl
|
|
||||||
id tvCallScreeningStatus
|
|
||||||
id tvConnectionStatus
|
|
||||||
id tvLiveLog
|
|
||||||
id tvNotificationStatus
|
|
||||||
id tvPermissionsStatus
|
|
||||||
layout activity_main
|
|
||||||
mipmap ic_launcher
|
|
||||||
mipmap ic_launcher_round
|
|
||||||
string app_name
|
|
||||||
style Theme.ClawdNode
|
|
||||||
xml network_security_config
|
|
||||||
|
|
@ -1,271 +0,0 @@
|
||||||
1<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
3 package="com.inou.clawdnode"
|
|
||||||
4 android:versionCode="1"
|
|
||||||
5 android:versionName="0.1.0" >
|
|
||||||
6
|
|
||||||
7 <uses-sdk
|
|
||||||
8 android:minSdkVersion="29"
|
|
||||||
9 android:targetSdkVersion="34" />
|
|
||||||
10
|
|
||||||
11 <!-- Network -->
|
|
||||||
12 <uses-permission android:name="android.permission.INTERNET" />
|
|
||||||
12-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:6:5-67
|
|
||||||
12-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:6:22-64
|
|
||||||
13 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
||||||
13-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:7:5-79
|
|
||||||
13-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:7:22-76
|
|
||||||
14
|
|
||||||
15 <!-- Foreground service -->
|
|
||||||
16 <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
||||||
16-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:10:5-77
|
|
||||||
16-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:10:22-74
|
|
||||||
17 <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
|
||||||
17-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:11:5-89
|
|
||||||
17-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:11:22-86
|
|
||||||
18 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
||||||
18-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:12:5-77
|
|
||||||
18-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:12:22-74
|
|
||||||
19 <uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
||||||
19-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:13:5-68
|
|
||||||
19-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:13:22-65
|
|
||||||
20
|
|
||||||
21 <!-- Phone/Calls -->
|
|
||||||
22 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
||||||
22-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:16:5-75
|
|
||||||
22-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:16:22-72
|
|
||||||
23 <uses-permission android:name="android.permission.READ_CALL_LOG" />
|
|
||||||
23-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:17:5-72
|
|
||||||
23-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:17:22-69
|
|
||||||
24 <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
|
|
||||||
24-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:18:5-77
|
|
||||||
24-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:18:22-74
|
|
||||||
25 <uses-permission android:name="android.permission.CALL_PHONE" />
|
|
||||||
25-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:19:5-69
|
|
||||||
25-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:19:22-66
|
|
||||||
26 <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
|
|
||||||
26-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:20:5-75
|
|
||||||
26-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:20:22-72
|
|
||||||
27
|
|
||||||
28 <!-- Audio for voice -->
|
|
||||||
29 <uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
||||||
29-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:23:5-71
|
|
||||||
29-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:23:22-68
|
|
||||||
30 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
||||||
30-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:24:5-80
|
|
||||||
30-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:24:22-77
|
|
||||||
31
|
|
||||||
32 <!-- Contacts for caller ID -->
|
|
||||||
33 <uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
||||||
33-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:27:5-72
|
|
||||||
33-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:27:22-69
|
|
||||||
34
|
|
||||||
35 <!-- Notifications (bind to notification listener) -->
|
|
||||||
36 <uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
|
|
||||||
36-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:30:5-31:47
|
|
||||||
36-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:30:22-90
|
|
||||||
37
|
|
||||||
38 <permission
|
|
||||||
38-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:22:5-24:47
|
|
||||||
39 android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
|
|
||||||
39-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:23:9-81
|
|
||||||
40 android:protectionLevel="signature" />
|
|
||||||
40-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:24:9-44
|
|
||||||
41
|
|
||||||
42 <uses-permission android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
|
|
||||||
42-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:26:5-97
|
|
||||||
42-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:26:22-94
|
|
||||||
43
|
|
||||||
44 <application
|
|
||||||
44-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:33:5-101:19
|
|
||||||
45 android:name="com.inou.clawdnode.ClawdNodeApp"
|
|
||||||
45-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:34:9-37
|
|
||||||
46 android:allowBackup="false"
|
|
||||||
46-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:35:9-36
|
|
||||||
47 android:appComponentFactory="androidx.core.app.CoreComponentFactory"
|
|
||||||
47-->[androidx.core:core:1.12.0] /home/johan/.gradle/caches/transforms-3/440a64c1659b3784956be1ef27019da1/transformed/core-1.12.0/AndroidManifest.xml:28:18-86
|
|
||||||
48 android:debuggable="true"
|
|
||||||
49 android:extractNativeLibs="false"
|
|
||||||
50 android:icon="@mipmap/ic_launcher"
|
|
||||||
50-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:36:9-43
|
|
||||||
51 android:label="@string/app_name"
|
|
||||||
51-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:37:9-41
|
|
||||||
52 android:networkSecurityConfig="@xml/network_security_config"
|
|
||||||
52-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:41:9-69
|
|
||||||
53 android:roundIcon="@mipmap/ic_launcher_round"
|
|
||||||
53-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:38:9-54
|
|
||||||
54 android:supportsRtl="true"
|
|
||||||
54-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:39:9-35
|
|
||||||
55 android:theme="@style/Theme.ClawdNode" >
|
|
||||||
55-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:40:9-47
|
|
||||||
56
|
|
||||||
57 <!-- Main Activity -->
|
|
||||||
58 <activity
|
|
||||||
58-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:45:9-53:20
|
|
||||||
59 android:name="com.inou.clawdnode.ui.MainActivity"
|
|
||||||
59-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:46:13-44
|
|
||||||
60 android:exported="true"
|
|
||||||
60-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:47:13-36
|
|
||||||
61 android:theme="@style/Theme.ClawdNode" >
|
|
||||||
61-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:48:13-51
|
|
||||||
62 <intent-filter>
|
|
||||||
62-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:49:13-52:29
|
|
||||||
63 <action android:name="android.intent.action.MAIN" />
|
|
||||||
63-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:50:17-69
|
|
||||||
63-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:50:25-66
|
|
||||||
64
|
|
||||||
65 <category android:name="android.intent.category.LAUNCHER" />
|
|
||||||
65-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:51:17-77
|
|
||||||
65-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:51:27-74
|
|
||||||
66 </intent-filter>
|
|
||||||
67 </activity>
|
|
||||||
68
|
|
||||||
69 <!-- Core Foreground Service -->
|
|
||||||
70 <service
|
|
||||||
70-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:56:9-63:19
|
|
||||||
71 android:name="com.inou.clawdnode.service.NodeService"
|
|
||||||
71-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:57:13-48
|
|
||||||
72 android:exported="false"
|
|
||||||
72-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:58:13-37
|
|
||||||
73 android:foregroundServiceType="specialUse" >
|
|
||||||
73-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:59:13-55
|
|
||||||
74 <property
|
|
||||||
74-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:60:13-62:85
|
|
||||||
75 android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
|
||||||
75-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:61:17-76
|
|
||||||
76 android:value="AI phone assistant connecting to personal gateway" />
|
|
||||||
76-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:62:17-82
|
|
||||||
77 </service>
|
|
||||||
78
|
|
||||||
79 <!-- Notification Listener Service -->
|
|
||||||
80 <service
|
|
||||||
80-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:66:9-73:19
|
|
||||||
81 android:name="com.inou.clawdnode.notifications.NotificationListener"
|
|
||||||
81-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:67:13-63
|
|
||||||
82 android:exported="true"
|
|
||||||
82-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:68:13-36
|
|
||||||
83 android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
|
|
||||||
83-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:69:13-87
|
|
||||||
84 <intent-filter>
|
|
||||||
84-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:70:13-72:29
|
|
||||||
85 <action android:name="android.service.notification.NotificationListenerService" />
|
|
||||||
85-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:71:17-99
|
|
||||||
85-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:71:25-96
|
|
||||||
86 </intent-filter>
|
|
||||||
87 </service>
|
|
||||||
88
|
|
||||||
89 <!-- Call Screening Service -->
|
|
||||||
90 <service
|
|
||||||
90-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:76:9-83:19
|
|
||||||
91 android:name="com.inou.clawdnode.calls.CallScreener"
|
|
||||||
91-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:77:13-47
|
|
||||||
92 android:exported="true"
|
|
||||||
92-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:78:13-36
|
|
||||||
93 android:permission="android.permission.BIND_SCREENING_SERVICE" >
|
|
||||||
93-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:79:13-75
|
|
||||||
94 <intent-filter>
|
|
||||||
94-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:80:13-82:29
|
|
||||||
95 <action android:name="android.telecom.CallScreeningService" />
|
|
||||||
95-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:81:17-79
|
|
||||||
95-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:81:25-76
|
|
||||||
96 </intent-filter>
|
|
||||||
97 </service>
|
|
||||||
98
|
|
||||||
99 <!-- InCall Service for voice interaction -->
|
|
||||||
100 <service
|
|
||||||
100-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:86:9-99:19
|
|
||||||
101 android:name="com.inou.clawdnode.calls.VoiceCallService"
|
|
||||||
101-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:87:13-51
|
|
||||||
102 android:exported="true"
|
|
||||||
102-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:88:13-36
|
|
||||||
103 android:permission="android.permission.BIND_INCALL_SERVICE" >
|
|
||||||
103-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:89:13-72
|
|
||||||
104 <meta-data
|
|
||||||
104-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:90:13-92:41
|
|
||||||
105 android:name="android.telecom.IN_CALL_SERVICE_UI"
|
|
||||||
105-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:91:17-66
|
|
||||||
106 android:value="false" />
|
|
||||||
106-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:92:17-38
|
|
||||||
107 <meta-data
|
|
||||||
107-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:93:13-95:41
|
|
||||||
108 android:name="android.telecom.IN_CALL_SERVICE_RINGING"
|
|
||||||
108-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:94:17-71
|
|
||||||
109 android:value="false" />
|
|
||||||
109-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:95:17-38
|
|
||||||
110
|
|
||||||
111 <intent-filter>
|
|
||||||
111-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:96:13-98:29
|
|
||||||
112 <action android:name="android.telecom.InCallService" />
|
|
||||||
112-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:97:17-72
|
|
||||||
112-->/home/johan/dev/clawdnode-android/app/src/main/AndroidManifest.xml:97:25-69
|
|
||||||
113 </intent-filter>
|
|
||||||
114 </service>
|
|
||||||
115
|
|
||||||
116 <provider
|
|
||||||
116-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:24:9-32:20
|
|
||||||
117 android:name="androidx.startup.InitializationProvider"
|
|
||||||
117-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:25:13-67
|
|
||||||
118 android:authorities="com.inou.clawdnode.androidx-startup"
|
|
||||||
118-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:26:13-68
|
|
||||||
119 android:exported="false" >
|
|
||||||
119-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:27:13-37
|
|
||||||
120 <meta-data
|
|
||||||
120-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:29:13-31:52
|
|
||||||
121 android:name="androidx.emoji2.text.EmojiCompatInitializer"
|
|
||||||
121-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:30:17-75
|
|
||||||
122 android:value="androidx.startup" />
|
|
||||||
122-->[androidx.emoji2:emoji2:1.2.0] /home/johan/.gradle/caches/transforms-3/40af677edc9e981bf1ec9bb11c8b1d32/transformed/emoji2-1.2.0/AndroidManifest.xml:31:17-49
|
|
||||||
123 <meta-data
|
|
||||||
123-->[androidx.lifecycle:lifecycle-process:2.7.0] /home/johan/.gradle/caches/transforms-3/01096349b0936ba7f741e909295c017b/transformed/lifecycle-process-2.7.0/AndroidManifest.xml:29:13-31:52
|
|
||||||
124 android:name="androidx.lifecycle.ProcessLifecycleInitializer"
|
|
||||||
124-->[androidx.lifecycle:lifecycle-process:2.7.0] /home/johan/.gradle/caches/transforms-3/01096349b0936ba7f741e909295c017b/transformed/lifecycle-process-2.7.0/AndroidManifest.xml:30:17-78
|
|
||||||
125 android:value="androidx.startup" />
|
|
||||||
125-->[androidx.lifecycle:lifecycle-process:2.7.0] /home/johan/.gradle/caches/transforms-3/01096349b0936ba7f741e909295c017b/transformed/lifecycle-process-2.7.0/AndroidManifest.xml:31:17-49
|
|
||||||
126 <meta-data
|
|
||||||
126-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:29:13-31:52
|
|
||||||
127 android:name="androidx.profileinstaller.ProfileInstallerInitializer"
|
|
||||||
127-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:30:17-85
|
|
||||||
128 android:value="androidx.startup" />
|
|
||||||
128-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:31:17-49
|
|
||||||
129 </provider>
|
|
||||||
130
|
|
||||||
131 <receiver
|
|
||||||
131-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:34:9-52:20
|
|
||||||
132 android:name="androidx.profileinstaller.ProfileInstallReceiver"
|
|
||||||
132-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:35:13-76
|
|
||||||
133 android:directBootAware="false"
|
|
||||||
133-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:36:13-44
|
|
||||||
134 android:enabled="true"
|
|
||||||
134-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:37:13-35
|
|
||||||
135 android:exported="true"
|
|
||||||
135-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:38:13-36
|
|
||||||
136 android:permission="android.permission.DUMP" >
|
|
||||||
136-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:39:13-57
|
|
||||||
137 <intent-filter>
|
|
||||||
137-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:40:13-42:29
|
|
||||||
138 <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
|
|
||||||
138-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:41:17-91
|
|
||||||
138-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:41:25-88
|
|
||||||
139 </intent-filter>
|
|
||||||
140 <intent-filter>
|
|
||||||
140-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:43:13-45:29
|
|
||||||
141 <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
|
|
||||||
141-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:44:17-85
|
|
||||||
141-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:44:25-82
|
|
||||||
142 </intent-filter>
|
|
||||||
143 <intent-filter>
|
|
||||||
143-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:46:13-48:29
|
|
||||||
144 <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
|
|
||||||
144-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:47:17-88
|
|
||||||
144-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:47:25-85
|
|
||||||
145 </intent-filter>
|
|
||||||
146 <intent-filter>
|
|
||||||
146-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:49:13-51:29
|
|
||||||
147 <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
|
|
||||||
147-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:50:17-95
|
|
||||||
147-->[androidx.profileinstaller:profileinstaller:1.3.0] /home/johan/.gradle/caches/transforms-3/4dbbd11a74d28bd64c37893cccf57482/transformed/profileinstaller-1.3.0/AndroidManifest.xml:50:25-92
|
|
||||||
148 </intent-filter>
|
|
||||||
149 </receiver>
|
|
||||||
150 </application>
|
|
||||||
151
|
|
||||||
152</manifest>
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.inou.clawdnode"
|
|
||||||
android:versionCode="1"
|
|
||||||
android:versionName="0.1.0" >
|
|
||||||
|
|
||||||
<uses-sdk
|
|
||||||
android:minSdkVersion="29"
|
|
||||||
android:targetSdkVersion="34" />
|
|
||||||
|
|
||||||
<!-- Network -->
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
||||||
|
|
||||||
<!-- Foreground service -->
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
||||||
|
|
||||||
<!-- Phone/Calls -->
|
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
||||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
|
||||||
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
|
|
||||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
|
||||||
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
|
|
||||||
|
|
||||||
<!-- Audio for voice -->
|
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
||||||
|
|
||||||
<!-- Contacts for caller ID -->
|
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
||||||
|
|
||||||
<!-- Notifications (bind to notification listener) -->
|
|
||||||
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
|
|
||||||
|
|
||||||
<permission
|
|
||||||
android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
|
|
||||||
android:protectionLevel="signature" />
|
|
||||||
|
|
||||||
<uses-permission android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
|
|
||||||
|
|
||||||
<application
|
|
||||||
android:name="com.inou.clawdnode.ClawdNodeApp"
|
|
||||||
android:allowBackup="false"
|
|
||||||
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
|
|
||||||
android:debuggable="true"
|
|
||||||
android:extractNativeLibs="false"
|
|
||||||
android:icon="@mipmap/ic_launcher"
|
|
||||||
android:label="@string/app_name"
|
|
||||||
android:networkSecurityConfig="@xml/network_security_config"
|
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
|
||||||
android:supportsRtl="true"
|
|
||||||
android:theme="@style/Theme.ClawdNode" >
|
|
||||||
|
|
||||||
<!-- Main Activity -->
|
|
||||||
<activity
|
|
||||||
android:name="com.inou.clawdnode.ui.MainActivity"
|
|
||||||
android:exported="true"
|
|
||||||
android:theme="@style/Theme.ClawdNode" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.MAIN" />
|
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
|
|
||||||
<!-- Core Foreground Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.service.NodeService"
|
|
||||||
android:exported="false"
|
|
||||||
android:foregroundServiceType="specialUse" >
|
|
||||||
<property
|
|
||||||
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
|
||||||
android:value="AI phone assistant connecting to personal gateway" />
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- Notification Listener Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.notifications.NotificationListener"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.service.notification.NotificationListenerService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- Call Screening Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.calls.CallScreener"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_SCREENING_SERVICE" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.telecom.CallScreeningService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- InCall Service for voice interaction -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.calls.VoiceCallService"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_INCALL_SERVICE" >
|
|
||||||
<meta-data
|
|
||||||
android:name="android.telecom.IN_CALL_SERVICE_UI"
|
|
||||||
android:value="false" />
|
|
||||||
<meta-data
|
|
||||||
android:name="android.telecom.IN_CALL_SERVICE_RINGING"
|
|
||||||
android:value="false" />
|
|
||||||
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.telecom.InCallService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<provider
|
|
||||||
android:name="androidx.startup.InitializationProvider"
|
|
||||||
android:authorities="com.inou.clawdnode.androidx-startup"
|
|
||||||
android:exported="false" >
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.emoji2.text.EmojiCompatInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.lifecycle.ProcessLifecycleInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.profileinstaller.ProfileInstallerInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<receiver
|
|
||||||
android:name="androidx.profileinstaller.ProfileInstallReceiver"
|
|
||||||
android:directBootAware="false"
|
|
||||||
android:enabled="true"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.DUMP" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.SKIP_FILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
</application>
|
|
||||||
|
|
||||||
</manifest>
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.inou.clawdnode"
|
|
||||||
android:versionCode="1"
|
|
||||||
android:versionName="0.1.0" >
|
|
||||||
|
|
||||||
<uses-sdk
|
|
||||||
android:minSdkVersion="29"
|
|
||||||
android:targetSdkVersion="34" />
|
|
||||||
|
|
||||||
<!-- Network -->
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
||||||
|
|
||||||
<!-- Foreground service -->
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
||||||
|
|
||||||
<!-- Phone/Calls -->
|
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
||||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
|
||||||
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
|
|
||||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
|
||||||
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
|
|
||||||
|
|
||||||
<!-- Audio for voice -->
|
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
||||||
|
|
||||||
<!-- Contacts for caller ID -->
|
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
||||||
|
|
||||||
<!-- Notifications (bind to notification listener) -->
|
|
||||||
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
|
|
||||||
|
|
||||||
<permission
|
|
||||||
android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
|
|
||||||
android:protectionLevel="signature" />
|
|
||||||
|
|
||||||
<uses-permission android:name="com.inou.clawdnode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
|
|
||||||
|
|
||||||
<application
|
|
||||||
android:name="com.inou.clawdnode.ClawdNodeApp"
|
|
||||||
android:allowBackup="false"
|
|
||||||
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
|
|
||||||
android:debuggable="true"
|
|
||||||
android:extractNativeLibs="false"
|
|
||||||
android:icon="@mipmap/ic_launcher"
|
|
||||||
android:label="@string/app_name"
|
|
||||||
android:networkSecurityConfig="@xml/network_security_config"
|
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
|
||||||
android:supportsRtl="true"
|
|
||||||
android:theme="@style/Theme.ClawdNode" >
|
|
||||||
|
|
||||||
<!-- Main Activity -->
|
|
||||||
<activity
|
|
||||||
android:name="com.inou.clawdnode.ui.MainActivity"
|
|
||||||
android:exported="true"
|
|
||||||
android:theme="@style/Theme.ClawdNode" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.MAIN" />
|
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
|
|
||||||
<!-- Core Foreground Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.service.NodeService"
|
|
||||||
android:exported="false"
|
|
||||||
android:foregroundServiceType="specialUse" >
|
|
||||||
<property
|
|
||||||
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
|
||||||
android:value="AI phone assistant connecting to personal gateway" />
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- Notification Listener Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.notifications.NotificationListener"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.service.notification.NotificationListenerService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- Call Screening Service -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.calls.CallScreener"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_SCREENING_SERVICE" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.telecom.CallScreeningService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<!-- InCall Service for voice interaction -->
|
|
||||||
<service
|
|
||||||
android:name="com.inou.clawdnode.calls.VoiceCallService"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.BIND_INCALL_SERVICE" >
|
|
||||||
<meta-data
|
|
||||||
android:name="android.telecom.IN_CALL_SERVICE_UI"
|
|
||||||
android:value="false" />
|
|
||||||
<meta-data
|
|
||||||
android:name="android.telecom.IN_CALL_SERVICE_RINGING"
|
|
||||||
android:value="false" />
|
|
||||||
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.telecom.InCallService" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<provider
|
|
||||||
android:name="androidx.startup.InitializationProvider"
|
|
||||||
android:authorities="com.inou.clawdnode.androidx-startup"
|
|
||||||
android:exported="false" >
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.emoji2.text.EmojiCompatInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.lifecycle.ProcessLifecycleInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.profileinstaller.ProfileInstallerInitializer"
|
|
||||||
android:value="androidx.startup" />
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<receiver
|
|
||||||
android:name="androidx.profileinstaller.ProfileInstallReceiver"
|
|
||||||
android:directBootAware="false"
|
|
||||||
android:enabled="true"
|
|
||||||
android:exported="true"
|
|
||||||
android:permission="android.permission.DUMP" >
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.SKIP_FILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
</application>
|
|
||||||
|
|
||||||
</manifest>
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"artifactType": {
|
|
||||||
"type": "MERGED_MANIFESTS",
|
|
||||||
"kind": "Directory"
|
|
||||||
},
|
|
||||||
"applicationId": "com.inou.clawdnode",
|
|
||||||
"variantName": "debug",
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"type": "SINGLE",
|
|
||||||
"filters": [],
|
|
||||||
"attributes": [],
|
|
||||||
"versionCode": 1,
|
|
||||||
"versionName": "0.1.0",
|
|
||||||
"outputFile": "AndroidManifest.xml"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"elementType": "File"
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue