forked from lubuwest/Friendiqa
v.0.4
This commit is contained in:
parent
aca94a5393
commit
63dfb9b197
70 changed files with 2829 additions and 1056 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<manifest package="org.qtproject.friendiqa" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.3.4" android:versionCode="11" android:installLocation="auto">
|
||||
<manifest package="org.qtproject.friendiqa" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.4" android:versionCode="12" android:installLocation="auto">
|
||||
<application android:hardwareAccelerated="true" android:vmSafeMode="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="Friendiqa" android:icon="@drawable/friendiqa" android:logo="@drawable/friendiqa" android:theme="@android:style/Theme.Holo.Light">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="androidnative.friendiqa.FriendiqaActivity" android:label="Friendiqa" android:screenOrientation="unspecified" android:launchMode="singleInstance" android:taskAffinity="">
|
||||
<intent-filter>
|
||||
|
@ -49,6 +49,42 @@
|
|||
<meta-data android:name="android.app.background_running" android:value="false"/>
|
||||
<!-- Background running -->
|
||||
</activity>
|
||||
|
||||
<service android:name="androidnative.friendiqa.FriendiqaService" android:permission="android.permission.BIND_JOB_SERVICE">
|
||||
<meta-data android:name="android.app.background_running" android:value="true"/>
|
||||
</service>
|
||||
<service android:process=":qt" android:name="androidnative.AndroidNativeService">
|
||||
<meta-data android:name="android.app.background_running" android:value="true"/>
|
||||
<meta-data android:name="android.app.arguments" android:value="-service"/>
|
||||
<meta-data android:name="android.app.lib_name" android:value="friendiqa"/>
|
||||
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
|
||||
<meta-data android:name="android.app.repository" android:value="default"/>
|
||||
<meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
|
||||
<meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
|
||||
<!-- Deploy Qt libs as part of package -->
|
||||
<meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
|
||||
<meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
|
||||
<meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
|
||||
<!-- Run with local libs -->
|
||||
<meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
|
||||
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
|
||||
<meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
|
||||
<meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
|
||||
<meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
|
||||
<!-- Messages maps -->
|
||||
<meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
|
||||
<meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
|
||||
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
|
||||
<!-- Messages maps -->
|
||||
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
|
||||
</service>
|
||||
|
||||
<service android:process=":qt" android:name="androidnative.friendiqa.FriendiqaStopService" android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:exported="true">
|
||||
<meta-data android:name="android.app.background_running" android:value="true"/>
|
||||
</service>
|
||||
|
||||
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="26"/>
|
||||
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
|
||||
|
|
|
@ -20,6 +20,13 @@ dependencies {
|
|||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
}
|
||||
|
||||
//apply plugin: 'android-library'
|
||||
|
||||
dependencies {
|
||||
compile 'com.android.support:support-v4:25.3.1'
|
||||
}
|
||||
|
||||
|
||||
android {
|
||||
/*******************************************************
|
||||
* The following variables:
|
||||
|
@ -56,4 +63,4 @@ android {
|
|||
}
|
||||
}
|
||||
apply from: "androidnative.gradle"
|
||||
setAndroidNativePath("/../androidnative.pri");
|
||||
setAndroidNativePath("/../androidnative.pri");
|
||||
|
|
|
@ -2,10 +2,6 @@ package androidnative.friendiqa;
|
|||
|
||||
import androidnative.AndroidNativeActivity;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class FriendiqaActivity extends AndroidNativeActivity {
|
||||
public FriendiqaActivity() {
|
||||
super();
|
||||
|
@ -13,8 +9,4 @@ public class FriendiqaActivity extends AndroidNativeActivity {
|
|||
QT_ANDROID_THEMES = new String[] {""};
|
||||
QT_ANDROID_DEFAULT_THEME = "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
96
source-android/android/src/FriendiqaNotifierService.java
Normal file
96
source-android/android/src/FriendiqaNotifierService.java
Normal file
|
@ -0,0 +1,96 @@
|
|||
package androidnative.friendiqa;
|
||||
import androidnative.SystemDispatcher;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.util.Log;
|
||||
import android.os.Handler;
|
||||
import android.app.Activity;
|
||||
import android.view.View;
|
||||
import android.content.Context;
|
||||
import java.util.Map;
|
||||
import org.qtproject.qt5.android.QtNative;
|
||||
|
||||
public class FriendiqaNotifierService {
|
||||
|
||||
static {
|
||||
|
||||
SystemDispatcher.addListener(new SystemDispatcher.Listener() {
|
||||
|
||||
NotificationManager m_notificationManager;
|
||||
Notification.Builder m_builder;
|
||||
|
||||
private void notificationManagerNotify(Map data) {
|
||||
|
||||
final Activity activity = QtNative.activity();
|
||||
final Map messageData = data;
|
||||
|
||||
Runnable runnable = new Runnable () {
|
||||
public void run() {
|
||||
try {
|
||||
String title = (String) messageData.get("title");
|
||||
|
||||
String message = (String) messageData.get("message");
|
||||
|
||||
if (m_notificationManager == null) {
|
||||
m_notificationManager = (NotificationManager) activity.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
m_builder = new Notification.Builder(activity);
|
||||
|
||||
// Small Icon is a must to make notification works.
|
||||
// And that is why you need to inherit QtActivity
|
||||
//m_builder.setSmallIcon(drawable.icon);
|
||||
}
|
||||
|
||||
m_builder.setContentTitle(title);
|
||||
m_builder.setContentText(message);
|
||||
m_notificationManager.notify(1, m_builder.build());
|
||||
|
||||
// Test function. Remove it later.
|
||||
SystemDispatcher.dispatch("Notifier.notifyFinished");
|
||||
} catch (Exception e) {
|
||||
Log.d("",e.getMessage());
|
||||
}
|
||||
|
||||
};
|
||||
};
|
||||
activity.runOnUiThread(runnable);
|
||||
}
|
||||
|
||||
private void hapticFeedbackPerform(Map data) {
|
||||
|
||||
final Activity activity = QtNative.activity();
|
||||
final Map messageData = data;
|
||||
Runnable runnable = new Runnable () {
|
||||
public void run() {
|
||||
int feedbackConstant = (Integer) messageData.get("feedbackConstant");
|
||||
int flags = (Integer) messageData.get("flags");
|
||||
|
||||
Log.d("",String.format("hapticFeedbackPerform(%d,%d)",feedbackConstant,flags));
|
||||
|
||||
View rootView = activity.getWindow().getDecorView().getRootView();
|
||||
rootView.performHapticFeedback(feedbackConstant, flags);
|
||||
|
||||
// Test function. Remove it later.
|
||||
SystemDispatcher.dispatch("hapticFeedbackPerformFinished");
|
||||
};
|
||||
};
|
||||
activity.runOnUiThread(runnable);
|
||||
}
|
||||
|
||||
public void onDispatched(String name , Map data) {
|
||||
|
||||
if (name.equals("Notifier.notify")) {
|
||||
notificationManagerNotify(data);
|
||||
return;
|
||||
} else if (name.equals("hapticFeedbackPerform")) {
|
||||
hapticFeedbackPerform(data);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
35
source-android/android/src/FriendiqaService.java
Normal file
35
source-android/android/src/FriendiqaService.java
Normal file
|
@ -0,0 +1,35 @@
|
|||
package androidnative.friendiqa;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
import android.app.job.JobService;
|
||||
import android.app.job.JobParameters;
|
||||
import androidnative.AndroidNativeService;
|
||||
import org.qtproject.qt5.android.bindings.QtService;
|
||||
import org.qtproject.qt5.android.QtNative;
|
||||
//import androidnative.friendiqa.FriendiqaQtService;
|
||||
|
||||
public class FriendiqaService extends JobService{
|
||||
private static String TAG = "AndroidNative";
|
||||
//Log.e(TAG,"Service");
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onStartJob(JobParameters params) {
|
||||
//Log.d(TAG,"Friendiqa JobService");
|
||||
Context context = this.getApplicationContext();
|
||||
AndroidNativeService fs = new AndroidNativeService();
|
||||
fs.startQtService(context);
|
||||
jobFinished(params,false);
|
||||
//Intent serviceIntent = new Intent(this, AndroidNativeService.class);
|
||||
//startService(serviceIntent);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onStopJob(JobParameters params) {
|
||||
// whether or not you would like JobScheduler to automatically retry your failed job.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
40
source-android/android/src/FriendiqaStopService.java
Normal file
40
source-android/android/src/FriendiqaStopService.java
Normal file
|
@ -0,0 +1,40 @@
|
|||
package androidnative.friendiqa;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
import android.app.job.JobService;
|
||||
import android.app.job.JobParameters;
|
||||
import androidnative.AndroidNativeService;
|
||||
import org.qtproject.qt5.android.bindings.QtService;
|
||||
import org.qtproject.qt5.android.QtNative;
|
||||
//import androidnative.friendiqa.FriendiqaQtService;
|
||||
|
||||
public class FriendiqaStopService extends JobService{
|
||||
private static String TAG = "AndroidNative";
|
||||
//Log.e(TAG,"Service");
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onStartJob(JobParameters params) {
|
||||
//Log.d(TAG,"Friendiqa JobServiceStop");
|
||||
Context context = this.getApplicationContext();
|
||||
AndroidNativeService fs = new AndroidNativeService();
|
||||
fs.stopQtService(context);
|
||||
jobFinished(params,false);
|
||||
//Intent serviceIntent = new Intent(this, AndroidNativeService.class);
|
||||
//startService(serviceIntent);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onStopJob(JobParameters params) {
|
||||
// whether or not you would like JobScheduler to automatically retry your failed job.
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean onUnbind(Intent intent) {
|
||||
stopSelf();
|
||||
return super.onUnbind(intent);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue