Changeset View
Changeset View
Standalone View
Standalone View
src/app/applicationcontroller.cpp
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Line(s) | |||||
48 | #include <QGeoPositionInfoSource> | 48 | #include <QGeoPositionInfoSource> | ||
49 | #endif | 49 | #endif | ||
50 | 50 | | |||
51 | #include <memory> | 51 | #include <memory> | ||
52 | 52 | | |||
53 | using namespace KItinerary; | 53 | using namespace KItinerary; | ||
54 | 54 | | |||
55 | #ifdef Q_OS_ANDROID | 55 | #ifdef Q_OS_ANDROID | ||
56 | | ||||
57 | #define PERMISSION_CALENDAR QStringLiteral("android.permission.READ_CALENDAR") | ||||
58 | | ||||
56 | static void importReservation(JNIEnv *env, jobject that, jstring data) | 59 | static void importReservation(JNIEnv *env, jobject that, jstring data) | ||
57 | { | 60 | { | ||
58 | Q_UNUSED(that); | 61 | Q_UNUSED(that); | ||
59 | ApplicationController::instance()->importData(env->GetStringUTFChars(data, 0)); | 62 | ApplicationController::instance()->importData(env->GetStringUTFChars(data, 0)); | ||
60 | } | 63 | } | ||
61 | 64 | | |||
62 | static void importFromIntent(JNIEnv *env, jobject that, jobject data) | 65 | static void importFromIntent(JNIEnv *env, jobject that, jobject data) | ||
63 | { | 66 | { | ||
▲ Show 20 Lines • Show All 383 Lines • ▼ Show 20 Line(s) | |||||
447 | { | 450 | { | ||
448 | const auto content = IataBcbpParser::parse(QString::fromUtf8(data), QDate::currentDate()); | 451 | const auto content = IataBcbpParser::parse(QString::fromUtf8(data), QDate::currentDate()); | ||
449 | m_resMgr->importReservations(content); | 452 | m_resMgr->importReservations(content); | ||
450 | } | 453 | } | ||
451 | 454 | | |||
452 | void ApplicationController::checkCalendar() | 455 | void ApplicationController::checkCalendar() | ||
453 | { | 456 | { | ||
454 | #ifdef Q_OS_ANDROID | 457 | #ifdef Q_OS_ANDROID | ||
458 | | ||||
459 | if (QtAndroid::checkPermission(PERMISSION_CALENDAR) == QtAndroid::PermissionResult::Granted) { | ||||
455 | const auto activity = QtAndroid::androidActivity(); | 460 | const auto activity = QtAndroid::androidActivity(); | ||
456 | if (activity.isValid()) { | 461 | if (activity.isValid()) { | ||
457 | activity.callMethod<void>("checkCalendar"); | 462 | activity.callMethod<void>("checkCalendar"); | ||
458 | } | 463 | } | ||
464 | } else { | ||||
465 | QtAndroid::requestPermissions({PERMISSION_CALENDAR}, [this] (const QtAndroid::PermissionResultMap &result){ | ||||
466 | if (result[PERMISSION_CALENDAR] == QtAndroid::PermissionResult::Granted) { | ||||
467 | checkCalendar(); | ||||
468 | } | ||||
469 | }); | ||||
470 | } | ||||
459 | #endif | 471 | #endif | ||
460 | } | 472 | } | ||
461 | 473 | | |||
462 | bool ApplicationController::hasClipboardContent() const | 474 | bool ApplicationController::hasClipboardContent() const | ||
463 | { | 475 | { | ||
464 | return QGuiApplication::clipboard()->mimeData()->hasText() || QGuiApplication::clipboard()->mimeData()->hasUrls(); | 476 | return QGuiApplication::clipboard()->mimeData()->hasText() || QGuiApplication::clipboard()->mimeData()->hasUrls(); | ||
465 | } | 477 | } |