Merge pull request #255 from amnezia-vpn/bugfix/build_fixes

Build fixes and some refactoring
This commit is contained in:
pokamest 2023-06-29 17:58:57 -07:00 committed by GitHub
commit a67ad12cde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 32 additions and 104 deletions

View file

@ -9,8 +9,8 @@ jobs:
runs-on: ubuntu-latest
env:
QT_VERSION: 6.5.0
QIF_VERSION: 4.5
QT_VERSION: 6.5.1
QIF_VERSION: 4.6
steps:
- name: 'Install Qt'
@ -63,8 +63,8 @@ jobs:
runs-on: windows-latest
env:
QT_VERSION: 6.5.0
QIF_VERSION: 4.5
QT_VERSION: 6.5.1
QIF_VERSION: 4.6
BUILD_ARCH: 64
steps:
@ -124,7 +124,7 @@ jobs:
runs-on: macos-latest
env:
QT_VERSION: 6.5.0
QT_VERSION: 6.5.1
steps:
- name: 'Setup xcode'
@ -199,8 +199,8 @@ jobs:
runs-on: macos-latest
env:
QT_VERSION: 6.5.0
QIF_VERSION: 4.5
QT_VERSION: 6.5.1
QIF_VERSION: 4.6
steps:
- name: 'Setup xcode'
@ -262,7 +262,7 @@ jobs:
arch: ['android_x86_64', 'android_x86'] #, 'android_armv7', 'android_arm64_v8a']
env:
QT_VERSION: 6.5.0
QT_VERSION: 6.5.1
steps:
- name: 'Install desktop Qt'

View file

@ -168,11 +168,8 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
}
override fun onCreate() {
super.onCreate()
// Log.v(tag, "Aman: onCreate....................")
// Log.v(tag, "Aman: onCreate....................")
// Log.v(tag, "Aman: onCreate....................")
// NotificationUtil.show(this) // Go foreground
super.onCreate()
NotificationUtil.show(this) // Go foreground
}
override fun onUnbind(intent: Intent?): Boolean {

View file

@ -196,6 +196,7 @@ class VPNServiceBinder(service: VPNService) : Binder() {
/**
* The codes we Are Using in case of [dispatchEvent]
* Qt codes in the androidvpnactivity.h
*/
object EVENTS {
const val init = 0

View file

@ -1,6 +0,0 @@
package org.ftylitak.qzxing;
public class NativeFunctions {
public static native void onPermissionsGranted();
public static native void onPermissionsDenied();
}

View file

@ -1,25 +0,0 @@
package org.ftylitak.qzxing;
import android.Manifest;
import android.content.pm.PackageManager;
import org.qtproject.qt.android.bindings.QtActivity;
import static org.ftylitak.qzxing.Utilities.REQUEST_CAMERA;
public class QZXingLiveActivity extends QtActivity {
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_CAMERA: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
NativeFunctions.onPermissionsGranted();
} else {
NativeFunctions.onPermissionsDenied();
}
return;
}
}
}
}

View file

@ -1,42 +0,0 @@
package org.ftylitak.qzxing;
import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import java.util.ArrayList;
public class Utilities {
public static final int REQUEST_CAMERA = 0;
public static final String[] requiredPermissionsModifyPhoneState = {
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
public static void checkAndRequestPermissionList(Activity activity, String[] permissions) {
ArrayList<String> permissionsToRequest = new ArrayList<>();
for (int i = 0; i < permissions.length; i++) {
if (ContextCompat.checkSelfPermission(activity, permissions[i])
!= PackageManager.PERMISSION_GRANTED)
permissionsToRequest.add(permissions[i]);
}
if (permissionsToRequest.size() != 0)
ActivityCompat.requestPermissions(activity,
permissionsToRequest.toArray(new String[0]),
REQUEST_CAMERA);
else
NativeFunctions.onPermissionsGranted();
}
public static void requestQZXingPermissions(Activity activity) {
checkAndRequestPermissionList(activity, requiredPermissionsModifyPhoneState);
}
}

View file

@ -1,4 +1,5 @@
#include <QDebug>
#include <QTimer>
#include "amnezia_application.h"
#include "version.h"

View file

@ -91,7 +91,6 @@ AndroidController::AndroidController() : QObject()
connect(activity, &AndroidVPNActivity::eventStatisticUpdate, this,
[this](const QString& parcelBody) {
qDebug() << "Transact: update";
auto doc = QJsonDocument::fromJson(parcelBody.toUtf8());
QString rx = doc.object()["rx_bytes"].toString();
@ -229,8 +228,6 @@ void AndroidController::setFallbackConnectedNotification() {
}
void AndroidController::checkStatus() {
qDebug() << "check status";
AndroidVPNActivity::sendToService(ServiceAction::ACTION_REQUEST_STATISTIC, QString());
}

View file

@ -39,6 +39,7 @@ enum ServiceAction {
typedef enum ServiceAction ServiceAction;
// Event Types that will be Dispatched after registration
// Kotlin codes in the VPNServiceBinder.kt
enum ServiceEvents {
// The Service has Accepted our Binder
// Responds with the current status of the vpn.

View file

@ -1,13 +1,17 @@
import QtCore
import QtQuick
import QtQuick.Window
import QtQuick.Controls
import QtQuick.Controls.Basic
import QtQuick.Dialogs
import QtQuick.Layouts
import QtQuick.Window
import Qt.labs.platform as LabsPlatform
import Qt.labs.folderlistmodel as LabsFolderlistmodel
import PageEnum 1.0
import PageType 1.0
import Qt.labs.platform
import Qt.labs.folderlistmodel
import QtQuick.Dialogs
import QtQuick.Controls.Basic
import "Controls"
import "Pages"
import "Pages/Protocols"
@ -117,13 +121,13 @@ Window {
}
}
FolderListModel {
LabsFolderlistmodel.FolderListModel {
id: folderModelPages
folder: "qrc:/ui/qml/Pages/"
nameFilters: ["*.qml"]
showDirs: false
onStatusChanged: if (status == FolderListModel.Ready) {
onStatusChanged: if (status == LabsFolderlistmodel.FolderListModel.Ready) {
for (var i=0; i<folderModelPages.count; i++) {
createPagesObjects(folderModelPages.get(i, "filePath"), PageType.Basic);
}
@ -131,39 +135,39 @@ Window {
}
}
FolderListModel {
LabsFolderlistmodel.FolderListModel {
id: folderModelProtocols
folder: "qrc:/ui/qml/Pages/Protocols/"
nameFilters: ["*.qml"]
showDirs: false
onStatusChanged: if (status == FolderListModel.Ready) {
onStatusChanged: if (status == LabsFolderlistmodel.FolderListModel.Ready) {
for (var i=0; i<folderModelProtocols.count; i++) {
createPagesObjects(folderModelProtocols.get(i, "filePath"), PageType.Proto);
}
}
}
FolderListModel {
LabsFolderlistmodel.FolderListModel {
id: folderModelShareProtocols
folder: "qrc:/ui/qml/Pages/Share/"
nameFilters: ["*.qml"]
showDirs: false
onStatusChanged: if (status == FolderListModel.Ready) {
onStatusChanged: if (status == LabsFolderlistmodel.FolderListModel.Ready) {
for (var i=0; i<folderModelShareProtocols.count; i++) {
createPagesObjects(folderModelShareProtocols.get(i, "filePath"), PageType.ShareProto);
}
}
}
FolderListModel {
LabsFolderlistmodel.FolderListModel {
id: folderModelClientInfo
folder: "qrc:/ui/qml/Pages/ClientInfo/"
nameFilters: ["*.qml"]
showDirs: false
onStatusChanged: if (status == FolderListModel.Ready) {
onStatusChanged: if (status == LabsFolderlistmodel.FolderListModel.Ready) {
for (var i=0; i<folderModelClientInfo.count; i++) {
createPagesObjects(folderModelClientInfo.get(i, "filePath"), PageType.ClientInfo);
}

View file

@ -38,8 +38,8 @@ DMG_FILENAME=$PROJECT_DIR/${APP_NAME}.dmg
# Search Qt
if [ -z "${QT_VERSION+x}" ]; then
QT_VERSION=6.4.1;
QIF_VERSION=4.1
QT_VERSION=6.5.1;
QIF_VERSION=4.6
QT_BIN_DIR=$HOME/Qt/$QT_VERSION/macos/bin
QIF_BIN_DIR=$QT_BIN_DIR/../../../Tools/QtInstallerFramework/$QIF_VERSION/bin
fi