Compare commits
51 Commits
Author | SHA1 | Date |
---|---|---|
Vitalik | 8516b73966 | 3 months ago |
Vitalik | 88ce995c09 | 3 months ago |
Vitalik | 6f45928b29 | 3 months ago |
Vitalik | e315bf5c97 | 4 months ago |
Vitalik | 53bca72fbe | 4 months ago |
Vitalik | dda75cea99 | 4 months ago |
Vitalik | ba4c3b8627 | 4 months ago |
Vitalik | d60df39f45 | 4 months ago |
Vitalik | 64816e569c | 4 months ago |
Vitalik | daf1cb11a5 | 4 months ago |
Vitalik | b4f35d7448 | 4 months ago |
Vitalik | d164fcbdf3 | 4 months ago |
Vitalik | 931a76a1b6 | 4 months ago |
Vitalik | b5d4ed944b | 4 months ago |
Vitalik | 2fb7234bd6 | 4 months ago |
Vitalik | 23b75add79 | 4 months ago |
Vitalik | 05025f0f99 | 5 months ago |
Vitalik | 603b598cbf | 5 months ago |
Vitalik | a8b82da3c0 | 5 months ago |
Vitalik | 9584ece1ea | 5 months ago |
Vitalik | ef189cc013 | 5 months ago |
Vitalik | 5989573193 | 6 months ago |
Vitalik | e2db9778a3 | 6 months ago |
Vitalik | 8e18d18897 | 6 months ago |
Vitalik | e957cad230 | 6 months ago |
Vitalik | a9b445b1a3 | 6 months ago |
Vitalik | 3246c27785 | 6 months ago |
Vitalik | 349dc65b27 | 6 months ago |
Vitalik | 522bf71a2e | 6 months ago |
Vitalik | d454d62523 | 6 months ago |
Vitalik | f405216bd0 | 6 months ago |
Yevhen Romanenko | b27b8297ea | 6 months ago |
Vitalik | e2413b8cae | 6 months ago |
Yevhen Romanenko | 7decce1f3e | 6 months ago |
Vitalik | 82e9bd074d | 6 months ago |
Vitalik | abd739a331 | 6 months ago |
Yevhen Romanenko | 63d119d870 | 6 months ago |
Vitalik | 711ecc5c25 | 6 months ago |
Vitalik | b9265e9995 | 6 months ago |
Yevhen Romanenko | 4a9df62fde | 7 months ago |
Yevhen Romanenko | 0928bb06a3 | 7 months ago |
Vitalik | e82a9b1d14 | 7 months ago |
Vitalik | 23c32ac791 | 7 months ago |
Vitalik | 4858287b6c | 7 months ago |
Vitalik | 471b88e0bf | 7 months ago |
Vitalik | ccefe51229 | 7 months ago |
Vitalik | 8777c371eb | 7 months ago |
Vitalik | b86ec0f991 | 7 months ago |
Vitalik | 4aac8a6006 | 7 months ago |
Vitalik | 7cfdc600f3 | 7 months ago |
Vitalik | 2ce4f2006b | 7 months ago |
1115 changed files with 22063 additions and 10633 deletions
@ -1,3 +1,7 @@
@@ -1,3 +1,7 @@
|
||||
API_URL=http://localhost:3000 |
||||
SOCKET_URL=http://localhost:3000 |
||||
ONE_SIGNAL_KEY=8b9066f5-8c3f-49f7-bef4-c5ab621f9d27 |
||||
ONE_SIGNAL_KEY=8b9066f5-8c3f-49f7-bef4-c5ab621f9d27 |
||||
|
||||
SENTRY_ENVIROMENT=develop |
||||
|
||||
SHOW_VERSION_MODAL=true |
@ -1,3 +1,7 @@
@@ -1,3 +1,7 @@
|
||||
API_URL=https://taskme-api.work-jetup.site |
||||
SOCKET_URL=https://taskme-api.work-jetup.site |
||||
ONE_SIGNAL_KEY=8b9066f5-8c3f-49f7-bef4-c5ab621f9d27 |
||||
|
||||
SENTRY_ENVIROMENT=stage |
||||
|
||||
SHOW_VERSION_MODAL=false |
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
import React from 'react' |
||||
import { AppRegistry, Platform, SafeAreaView, Text } from 'react-native' |
||||
|
||||
function App(): JSX.Element { |
||||
return ( |
||||
<SafeAreaView> |
||||
<Text>test</Text> |
||||
</SafeAreaView> |
||||
) |
||||
} |
||||
|
||||
export default App |
||||
|
||||
if (Platform.OS === 'android') { |
||||
AppRegistry.registerHeadlessTask( |
||||
'RNCallKeepBackgroundMessage', |
||||
() => |
||||
({ name, callUUID, handle }) => { |
||||
// Make your call here
|
||||
console.log('something') |
||||
return Promise.resolve() |
||||
}, |
||||
) |
||||
} |
@ -1,13 +1,13 @@
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools"> |
||||
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> |
||||
|
||||
<application |
||||
android:usesCleartextTraffic="true" |
||||
tools:targetApi="28" |
||||
tools:ignore="GoogleAppIndexingWarning"> |
||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" /> |
||||
</application> |
||||
</manifest> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools"> |
||||
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> |
||||
|
||||
<application |
||||
android:usesCleartextTraffic="true" |
||||
tools:targetApi="28" |
||||
tools:ignore="GoogleAppIndexingWarning"> |
||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" /> |
||||
</application> |
||||
</manifest> |
||||
|
@ -1,75 +1,75 @@
@@ -1,75 +1,75 @@
|
||||
/** |
||||
* Copyright (c) Meta Platforms, Inc. and affiliates. |
||||
* |
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root |
||||
* directory of this source tree. |
||||
*/ |
||||
package com.app.task_me; |
||||
|
||||
import android.content.Context; |
||||
import com.facebook.flipper.android.AndroidFlipperClient; |
||||
import com.facebook.flipper.android.utils.FlipperUtils; |
||||
import com.facebook.flipper.core.FlipperClient; |
||||
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; |
||||
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; |
||||
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; |
||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping; |
||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; |
||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; |
||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; |
||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; |
||||
import com.facebook.react.ReactInstanceEventListener; |
||||
import com.facebook.react.ReactInstanceManager; |
||||
import com.facebook.react.bridge.ReactContext; |
||||
import com.facebook.react.modules.network.NetworkingModule; |
||||
import okhttp3.OkHttpClient; |
||||
|
||||
/** |
||||
* Class responsible of loading Flipper inside your React Native application. This is the debug |
||||
* flavor of it. Here you can add your own plugins and customize the Flipper setup. |
||||
*/ |
||||
public class ReactNativeFlipper { |
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { |
||||
if (FlipperUtils.shouldEnableFlipper(context)) { |
||||
final FlipperClient client = AndroidFlipperClient.getInstance(context); |
||||
|
||||
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); |
||||
client.addPlugin(new DatabasesFlipperPlugin(context)); |
||||
client.addPlugin(new SharedPreferencesFlipperPlugin(context)); |
||||
client.addPlugin(CrashReporterPlugin.getInstance()); |
||||
|
||||
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); |
||||
NetworkingModule.setCustomClientBuilder( |
||||
new NetworkingModule.CustomClientBuilder() { |
||||
@Override |
||||
public void apply(OkHttpClient.Builder builder) { |
||||
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); |
||||
} |
||||
}); |
||||
client.addPlugin(networkFlipperPlugin); |
||||
client.start(); |
||||
|
||||
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
||||
// Hence we run if after all native modules have been initialized
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); |
||||
if (reactContext == null) { |
||||
reactInstanceManager.addReactInstanceEventListener( |
||||
new ReactInstanceEventListener() { |
||||
@Override |
||||
public void onReactContextInitialized(ReactContext reactContext) { |
||||
reactInstanceManager.removeReactInstanceEventListener(this); |
||||
reactContext.runOnNativeModulesQueueThread( |
||||
new Runnable() { |
||||
@Override |
||||
public void run() { |
||||
client.addPlugin(new FrescoFlipperPlugin()); |
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
} else { |
||||
client.addPlugin(new FrescoFlipperPlugin()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
/** |
||||
* Copyright (c) Meta Platforms, Inc. and affiliates. |
||||
* |
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root |
||||
* directory of this source tree. |
||||
*/ |
||||
package com.app.task_me; |
||||
|
||||
import android.content.Context; |
||||
import com.facebook.flipper.android.AndroidFlipperClient; |
||||
import com.facebook.flipper.android.utils.FlipperUtils; |
||||
import com.facebook.flipper.core.FlipperClient; |
||||
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; |
||||
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; |
||||
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; |
||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping; |
||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; |
||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; |
||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; |
||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; |
||||
import com.facebook.react.ReactInstanceEventListener; |
||||
import com.facebook.react.ReactInstanceManager; |
||||
import com.facebook.react.bridge.ReactContext; |
||||
import com.facebook.react.modules.network.NetworkingModule; |
||||
import okhttp3.OkHttpClient; |
||||
|
||||
/** |
||||
* Class responsible of loading Flipper inside your React Native application. This is the debug |
||||
* flavor of it. Here you can add your own plugins and customize the Flipper setup. |
||||
*/ |
||||
public class ReactNativeFlipper { |
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { |
||||
if (FlipperUtils.shouldEnableFlipper(context)) { |
||||
final FlipperClient client = AndroidFlipperClient.getInstance(context); |
||||
|
||||
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); |
||||
client.addPlugin(new DatabasesFlipperPlugin(context)); |
||||
client.addPlugin(new SharedPreferencesFlipperPlugin(context)); |
||||
client.addPlugin(CrashReporterPlugin.getInstance()); |
||||
|
||||
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); |
||||
NetworkingModule.setCustomClientBuilder( |
||||
new NetworkingModule.CustomClientBuilder() { |
||||
@Override |
||||
public void apply(OkHttpClient.Builder builder) { |
||||
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); |
||||
} |
||||
}); |
||||
client.addPlugin(networkFlipperPlugin); |
||||
client.start(); |
||||
|
||||
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
||||
// Hence we run if after all native modules have been initialized
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); |
||||
if (reactContext == null) { |
||||
reactInstanceManager.addReactInstanceEventListener( |
||||
new ReactInstanceEventListener() { |
||||
@Override |
||||
public void onReactContextInitialized(ReactContext reactContext) { |
||||
reactInstanceManager.removeReactInstanceEventListener(this); |
||||
reactContext.runOnNativeModulesQueueThread( |
||||
new Runnable() { |
||||
@Override |
||||
public void run() { |
||||
client.addPlugin(new FrescoFlipperPlugin()); |
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
} else { |
||||
client.addPlugin(new FrescoFlipperPlugin()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
@ -1,139 +1,191 @@
@@ -1,139 +1,191 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> |
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" /> |
||||
<uses-permission android:name="android.permission.CAMERA"/> |
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" /> |
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/> |
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/> |
||||
<uses-feature android:name="android.hardware.camera" android:required="false" /> |
||||
<uses-feature android:name="android.hardware.camera.front" android:required="false" /> |
||||
|
||||
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" tools:node="remove" /> |
||||
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" tools:node="remove" /> |
||||
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" tools:node="remove" /> |
||||
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" tools:node="remove" /> |
||||
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" tools:node="remove" /> |
||||
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE" tools:node="remove" /> |
||||
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT" tools:node="remove" /> |
||||
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE" tools:node="remove" /> |
||||
|
||||
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" tools:node="remove"/> |
||||
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" tools:node="remove" /> |
||||
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" tools:node="remove" /> |
||||
|
||||
<uses-permission android:name="android.permission.READ_APP_BADGE" tools:node="remove" /> |
||||
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS" tools:node="remove" /> |
||||
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS" tools:node="remove" /> |
||||
|
||||
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"/> |
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
||||
<uses-permission android:name="android.permission.CALL_PHONE" /> |
||||
|
||||
<application |
||||
android:name=".MainApplication" |
||||
android:label="@string/app_name" |
||||
android:icon="@mipmap/ic_launcher" |
||||
android:roundIcon="@mipmap/ic_launcher_round" |
||||
android:allowBackup="false" |
||||
android:usesCleartextTraffic="true" |
||||
android:requestLegacyExternalStorage="true" |
||||
android:theme="@style/AppTheme"> |
||||
|
||||
<meta-data |
||||
android:name="com.onesignal.NotificationServiceExtension" |
||||
android:value="com.app.task_me.NotificationServiceExtension" |
||||
/> |
||||
<meta-data android:name="com.onesignal.BadgeCount" android:value="DISABLE" /> |
||||
<meta-data android:name="com.onesignal.messaging.default_notification_icon" android:resource="@mipmap/ic_launcher" /> |
||||
|
||||
<activity |
||||
android:name=".MainActivity" |
||||
android:label="@string/app_name" |
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" |
||||
android:launchMode="singleTask" |
||||
android:windowSoftInputMode="adjustResize" |
||||
android:exported="true"> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.MAIN" /> |
||||
<category android:name="android.intent.category.LAUNCHER" /> |
||||
</intent-filter> |
||||
|
||||
<intent-filter> |
||||
<action android:name="android.intent.action.SEND" /> |
||||
<category android:name="android.intent.category.DEFAULT" /> |
||||
<data android:mimeType="image/*" /> |
||||
<data android:mimeType="video/*" /> |
||||
<data android:mimeType="application/pdf" /> |
||||
<data android:mimeType="application/msword" /> |
||||
<data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
||||
<data android:mimeType="application/vnd.ms-excel" /> |
||||
<data android:mimeType="application/zip" /> |
||||
</intent-filter> |
||||
|
||||
<intent-filter> |
||||
<action android:name="android.intent.action.SEND_MULTIPLE" /> |
||||
<category android:name="android.intent.category.DEFAULT" /> |
||||
<data android:mimeType="image/*" /> |
||||
<data android:mimeType="video/*" /> |
||||
<data android:mimeType="application/pdf" /> |
||||
<data android:mimeType="application/msword" /> |
||||
<data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
||||
<data android:mimeType="application/vnd.ms-excel" /> |
||||
<data android:mimeType="application/zip" /> |
||||
</intent-filter> |
||||
|
||||
</activity> |
||||
<provider |
||||
android:name="com.vinzscam.reactnativefileviewer.FileProvider" |
||||
android:authorities="${applicationId}.provider" |
||||
android:exported="false" |
||||
android:grantUriPermissions="true"> |
||||
<meta-data |
||||
android:name="android.support.FILE_PROVIDER_PATHS" |
||||
android:resource="@xml/file_viewer_provider_paths" |
||||
/> |
||||
</provider> |
||||
|
||||
<service android:name="io.wazo.callkeep.VoiceConnectionService" |
||||
android:label="Wazo" |
||||
android:exported="true" |
||||
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" |
||||
android:foregroundServiceType="camera|microphone" |
||||
> |
||||
<intent-filter> |
||||
<action android:name="android.telecom.ConnectionService" /> |
||||
</intent-filter> |
||||
</service> |
||||
|
||||
<service android:name="io.wazo.callkeep.RNCallKeepBackgroundMessagingService" /> |
||||
|
||||
|
||||
</application> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/pdf" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="text/plain" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/msword" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
||||
</intent> |
||||
</queries> |
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools"> |
||||
<uses-permission android:name="android.permission.INTERNET" /> |
||||
<uses-permission android:name="android.permission.CAMERA" /> |
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" /> |
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> |
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> |
||||
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE" /> |
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
||||
<uses-permission android:name="android.permission.CALL_PHONE" /> |
||||
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" /> |
||||
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" /> |
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" /> |
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" /> |
||||
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" /> |
||||
<uses-permission android:name="android.permission.READ_CONTACTS" /> |
||||
<uses-feature |
||||
android:name="android.hardware.camera" |
||||
android:required="false" /> |
||||
<uses-feature |
||||
android:name="android.hardware.camera.front" |
||||
android:required="false" /> |
||||
<uses-permission |
||||
android:name="com.sec.android.provider.badge.permission.READ" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.sec.android.provider.badge.permission.WRITE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.htc.launcher.permission.READ_SETTINGS" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.anddoes.launcher.permission.UPDATE_COUNT" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.majeur.launcher.permission.UPDATE_BADGE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.huawei.android.launcher.permission.READ_SETTINGS" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="android.permission.READ_APP_BADGE" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.oppo.launcher.permission.READ_SETTINGS" |
||||
tools:node="remove" /> |
||||
<uses-permission |
||||
android:name="com.oppo.launcher.permission.WRITE_SETTINGS" |
||||
tools:node="remove" /> |
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> |
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> |
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" /> |
||||
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" /> |
||||
<application |
||||
android:name=".MainApplication" |
||||
android:allowBackup="false" |
||||
android:icon="@mipmap/ic_launcher" |
||||
android:label="@string/app_name" |
||||
android:requestLegacyExternalStorage="true" |
||||
android:roundIcon="@mipmap/ic_launcher_round" |
||||
android:theme="@style/AppTheme" |
||||
android:usesCleartextTraffic="true"> |
||||
<meta-data |
||||
android:name="com.onesignal.NotificationServiceExtension" |
||||
android:value="com.app.task_me.NotificationServiceExtension" /> |
||||
<meta-data |
||||
android:name="com.onesignal.BadgeCount" |
||||
android:value="DISABLE" /> |
||||
<meta-data |
||||
android:name="com.onesignal.messaging.default_notification_icon" |
||||
android:resource="@mipmap/ic_launcher" /> |
||||
<activity |
||||
android:name="com.app.task_me.MainActivity" |
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" |
||||
android:exported="true" |
||||
android:label="@string/app_name" |
||||
android:launchMode="singleTask" |
||||
android:showOnLockScreen="true" |
||||
android:showWhenLocked="true" |
||||
android:turnScreenOn="true" |
||||
android:windowSoftInputMode="adjustResize"> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.MAIN" /> |
||||
<category android:name="android.intent.category.LAUNCHER" /> |
||||
</intent-filter> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.SEND" /> |
||||
<category android:name="android.intent.category.DEFAULT" /> |
||||
<data android:mimeType="*/*" /> |
||||
</intent-filter> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.SEND_MULTIPLE" /> |
||||
<category android:name="android.intent.category.DEFAULT" /> |
||||
<data android:mimeType="*/*" /> |
||||
</intent-filter> |
||||
</activity> |
||||
<provider |
||||
android:name="com.vinzscam.reactnativefileviewer.FileProvider" |
||||
android:authorities="${applicationId}.provider" |
||||
android:exported="false" |
||||
android:grantUriPermissions="true"> |
||||
<meta-data |
||||
android:name="android.support.FILE_PROVIDER_PATHS" |
||||
android:resource="@xml/file_viewer_provider_paths" /> |
||||
</provider> |
||||
<service |
||||
android:name="io.wazo.callkeep.VoiceConnectionService" |
||||
android:exported="true" |
||||
android:foregroundServiceType="camera|microphone" |
||||
android:label="Wazo" |
||||
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"> |
||||
<intent-filter> |
||||
<action android:name="android.telecom.ConnectionService" /> |
||||
</intent-filter> |
||||
</service> |
||||
<service android:name="io.wazo.callkeep.RNCallKeepBackgroundMessagingService" /> |
||||
<service |
||||
android:name="com.app.task_me.service.FirebaseService" |
||||
android:exported="false"> |
||||
<intent-filter> |
||||
<action android:name="com.google.firebase.MESSAGING_EVENT" /> |
||||
</intent-filter> |
||||
</service> |
||||
<service |
||||
android:name="com.app.task_me.features.notifications.NotificationService" |
||||
android:foregroundServiceType="phoneCall"> |
||||
|
||||
</service> |
||||
<service android:name="com.app.task_me.domain.ApiService" /> |
||||
<activity |
||||
android:name="com.app.task_me.features.activity.CallActivity" |
||||
android:excludeFromRecents="true" |
||||
android:exported="true" |
||||
android:launchMode="singleInstance" |
||||
android:screenOrientation="sensorPortrait" |
||||
android:showOnLockScreen="true" |
||||
android:theme="@style/AppTheme.TaskMe" |
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity"> |
||||
|
||||
</activity> |
||||
<activity |
||||
android:name="com.app.task_me.features.activity.WorkAroundActivity" |
||||
android:excludeFromRecents="true" |
||||
android:exported="true" |
||||
android:launchMode="singleInstance" |
||||
android:theme="@style/NoAnimation" /> |
||||
<receiver android:name="com.app.task_me.core.action.ActionReceiver" /> |
||||
</application> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/pdf" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="text/plain" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/msword" /> |
||||
</intent> |
||||
</queries> |
||||
<queries> |
||||
<intent> |
||||
<action android:name="android.intent.action.VIEW" /> |
||||
<data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
||||
</intent> |
||||
</queries> |
||||
</manifest> |
Binary file not shown.
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?> |
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<files-path name="files" path="/" /> |
||||
<external-files-path name="external_files" path="" /> |
||||
<external-path name="external" path="." /> |
||||
<cache-path name="cache" path="/" /> |
||||
</paths> |
||||
<?xml version='1.0' encoding='utf-8'?> |
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<files-path name="files" path="/" /> |
||||
<external-files-path name="external_files" path="" /> |
||||
<external-path name="external" path="." /> |
||||
<cache-path name="cache" path="/" /> |
||||
</paths> |
||||
|
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package com.app.task_me |
||||
|
||||
object Constants { |
||||
|
||||
const val PUSH_TYPE_FCM_KEY = "type" |
||||
const val TYPE_INCOME = "income" |
||||
const val TYPE_REJECT = "cancelled" |
||||
const val PHOTO_FCM_KEY = "avatarUrl" |
||||
const val USER_FCM_KEY = "callerName" |
||||
const val UUID_FCM_KEY = "uuid" |
||||
const val AUTH_TOKEN_FCM_KEY = "authToken" |
||||
const val DATA_BUNDLE_KEY = "data" |
||||
|
||||
const val ACTION_ANSWER = "action.answer" |
||||
const val ACTION_REJECT = "action.reject" |
||||
const val ACTION_CLOSE_ACTIVITY = "action.close" |
||||
|
||||
const val USER_RESPONSE_TYPE_KEY = "userResponseType" |
||||
const val USER_RESPONSE_ANSWER = "accepted" |
||||
|
||||
const val TAG = "MY_SOME_TAG" |
||||
} |
@ -0,0 +1,140 @@
@@ -0,0 +1,140 @@
|
||||
package com.app.task_me; |
||||
|
||||
import static com.app.task_me.Constants.DATA_BUNDLE_KEY; |
||||
|
||||
import android.app.Activity; |
||||
import android.content.Intent; |
||||
import android.os.Bundle; |
||||
import android.util.Log; |
||||
|
||||
import androidx.annotation.Nullable; |
||||
|
||||
import com.app.task_me.lifecycle.LifecycleManager; |
||||
import com.facebook.react.ReactActivity; |
||||
import com.facebook.react.ReactActivityDelegate; |
||||
import com.facebook.react.ReactInstanceManager; |
||||
import com.facebook.react.bridge.ReactContext; |
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; |
||||
import com.facebook.react.defaults.DefaultReactActivityDelegate; |
||||
import com.facebook.react.ReactRootView; |
||||
import com.facebook.react.modules.core.DeviceEventManagerModule; |
||||
|
||||
public class MainActivity extends ReactActivity { |
||||
|
||||
private LifecycleManager lifecycleManager; |
||||
|
||||
|
||||
/** |
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule |
||||
* rendering of the component. |
||||
*/ |
||||
@Override |
||||
protected String getMainComponentName() { |
||||
return "taskme2"; |
||||
} |
||||
|
||||
@Override |
||||
protected void onCreate(Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
lifecycleManager = new LifecycleManager(this); |
||||
lifecycleManager.onActive(); |
||||
|
||||
Log.i("MY_SOME_TAG", "onCreate MAIN ACTIVITY"); |
||||
|
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected void onResume() { |
||||
super.onResume(); |
||||
Log.i("MY_SOME_TAG", "onResume: "); |
||||
lifecycleManager.onActive(); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected void onStop() { |
||||
super.onStop(); |
||||
Log.i("MY_SOME_TAG", "onStop: "); |
||||
lifecycleManager.onInactive(); |
||||
} |
||||
|
||||
@Override |
||||
protected void onDestroy() { |
||||
super.onDestroy(); |
||||
Log.i("MY_SOME_TAG", "onDestroy: "); |
||||
} |
||||
|
||||
@Override |
||||
public void onNewIntent(Intent intent) { |
||||
super.onNewIntent(intent); |
||||
setIntent(intent); |
||||
|
||||
if (intent.getExtras() != null && intent.getExtras().containsKey(DATA_BUNDLE_KEY)) { |
||||
ReactContext reactContext = getReactInstanceManager().getCurrentReactContext(); |
||||
if (reactContext != null) { |
||||
Log.i("MY_SOME_TAG", "onNewIntent: "); |
||||
reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) |
||||
.emit("CallEvent", intent.getExtras().getString(DATA_BUNDLE_KEY)); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link |
||||
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React |
||||
* (aka React 18) with two boolean flags. |
||||
*/ |
||||
@Override |
||||
protected ReactActivityDelegate createReactActivityDelegate() { |
||||
Log.i("MY_SOME_TAG", "createReactActivityDelegate"); |
||||
return new TaskmeActivityDelegate(this, getMainComponentName()); |
||||
} |
||||
|
||||
|
||||
public static class TaskmeActivityDelegate extends ReactActivityDelegate { |
||||
private Bundle mInitialProps = null; |
||||
private final ReactActivity mActivity; |
||||
|
||||
public TaskmeActivityDelegate(ReactActivity activity, String mainComponentName) { |
||||
super(activity, mainComponentName); |
||||
this.mActivity = activity; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected void onCreate(Bundle savedInstanceState) { |
||||
Log.i("MY_SOME_TAG", "onCreate DELEGATE"); |
||||
Bundle bundle = mActivity.getIntent().getExtras(); |
||||
if (bundle != null) { |
||||
for (String key : bundle.keySet()) { |
||||
Object value = bundle.get(key); |
||||
Log.d("MY_SOME_TAG", String.format("Key: %s, Value: %s", key, value)); |
||||
} |
||||
} else { |
||||
Log.d("MY_SOME_TAG ", "Bundle is null"); |
||||
} |
||||
|
||||
if (bundle != null |
||||
&& bundle.containsKey(Constants.USER_RESPONSE_TYPE_KEY) |
||||
&& Constants.USER_RESPONSE_ANSWER.equals(bundle.getString(Constants.USER_RESPONSE_TYPE_KEY)) |
||||
&& bundle.containsKey(DATA_BUNDLE_KEY)) { |
||||
Log.i("MY_SOME_TAG", "onCreate: DELEGATE CONTAINS KEYS"); |
||||
mInitialProps = new Bundle(); |
||||
mInitialProps.putString(Constants.USER_RESPONSE_TYPE_KEY, Constants.USER_RESPONSE_ANSWER); |
||||
mInitialProps.putString(DATA_BUNDLE_KEY, bundle.getString(DATA_BUNDLE_KEY)); |
||||
} |
||||
super.onCreate(savedInstanceState); |
||||
} |
||||
|
||||
@Nullable |
||||
@Override |
||||
protected Bundle getLaunchOptions() { |
||||
|
||||
Log.i("MY_SOME_TAG", "getLaunchOptions: DELEGATE "); |
||||
return mInitialProps; |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
@ -0,0 +1,102 @@
@@ -0,0 +1,102 @@
|
||||
package com.app.task_me; |
||||
|
||||
import android.app.Application; |
||||
|
||||
import com.app.task_me.bridge.EmitterPackage; |
||||
import com.facebook.react.PackageList; |
||||
import com.facebook.react.ReactApplication; |
||||
import com.facebook.react.ReactNativeHost; |
||||
import com.facebook.react.ReactPackage; |
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; |
||||
import com.facebook.react.defaults.DefaultReactNativeHost; |
||||
import com.facebook.soloader.SoLoader; |
||||
|
||||
import java.util.List; |
||||
|
||||
import com.rumax.reactnative.pdfviewer.PDFViewPackage; |
||||
|
||||
import android.content.Intent; |
||||
import android.os.Bundle; |
||||
|
||||
import androidx.appcompat.app.AppCompatActivity; |
||||
|
||||
import android.util.Log; |
||||
|
||||
import com.google.firebase.messaging.FirebaseMessaging; |
||||
import com.google.android.gms.tasks.OnCompleteListener; |
||||
import com.lugg.RNCConfig.RNCConfigPackage; |
||||
import com.google.android.gms.tasks.Task; |
||||
|
||||
|
||||
public class MainApplication extends Application implements ReactApplication { |
||||
|
||||
private final ReactNativeHost mReactNativeHost = |
||||
new DefaultReactNativeHost(this) { |
||||
@Override |
||||
public boolean getUseDeveloperSupport() { |
||||
return BuildConfig.DEBUG; |
||||
} |
||||
|
||||
@Override |
||||
protected List<ReactPackage> getPackages() { |
||||
@SuppressWarnings("UnnecessaryLocalVariable") |
||||
List<ReactPackage> packages = new PackageList(this).getPackages(); |
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
packages.add(new PDFViewPackage()); |
||||
packages.add(new EmitterPackage()); |
||||
return packages; |
||||
} |
||||
|
||||
@Override |
||||
protected String getJSMainModuleName() { |
||||
return "index"; |
||||
} |
||||
|
||||
@Override |
||||
protected boolean isNewArchEnabled() { |
||||
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; |
||||
} |
||||
|
||||
@Override |
||||
protected Boolean isHermesEnabled() { |
||||
return BuildConfig.IS_HERMES_ENABLED; |
||||
} |
||||
}; |
||||
|
||||
@Override |
||||
public ReactNativeHost getReactNativeHost() { |
||||
return mReactNativeHost; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void onCreate() { |
||||
super.onCreate(); |
||||
Log.i("", "onCreate: APP"); |
||||
SoLoader.init(this, /* native exopackage */ false); |
||||
|
||||
FirebaseMessaging.getInstance().getToken() |
||||
.addOnCompleteListener(new OnCompleteListener<String>() { |
||||
@Override |
||||
public void onComplete(Task<String> task) { |
||||
if (!task.isSuccessful()) { |
||||
Log.w("MY_SOME_TAG", "Получение токена не удалось", task.getException()); |
||||
return; |
||||
} |
||||
|
||||
// Получаем токен
|
||||
String token = task.getResult(); |
||||
|
||||
// Логгируем токен
|
||||
Log.d("MY_SOME_TAG", "FCM токен: " + token); |
||||
} |
||||
}); |
||||
|
||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { |
||||
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||
DefaultNewArchitectureEntryPoint.load(); |
||||
} |
||||
com.app.task_me.ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); |
||||
|
||||
} |
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
package com.app.task_me.bridge |
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext |
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule |
||||
|
||||
class CallsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule( |
||||
reactContext |
||||
) { |
||||
init { |
||||
EventEmitterModule.init(reactContext) |
||||
} |
||||
|
||||
override fun getName() = "CallsModule" |
||||
|
||||
} |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
package com.app.task_me.bridge |
||||
|
||||
import android.view.View |
||||
import com.facebook.react.ReactPackage |
||||
import com.facebook.react.bridge.NativeModule |
||||
import com.facebook.react.bridge.ReactApplicationContext |
||||
import com.facebook.react.uimanager.ReactShadowNode |
||||
import com.facebook.react.uimanager.ViewManager |
||||
|
||||
class EmitterPackage : ReactPackage { |
||||
|
||||
override fun createNativeModules(p0: ReactApplicationContext): MutableList<NativeModule> { |
||||
return mutableListOf(CallsModule(p0)) |
||||
} |
||||
|
||||
override fun createViewManagers(p0: ReactApplicationContext): MutableList<ViewManager<View, ReactShadowNode<*>>> { |
||||
return mutableListOf() |
||||
} |
||||
} |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
package com.app.task_me.bridge |
||||
|
||||
import android.util.Log |
||||
import com.facebook.react.bridge.ReactApplicationContext |
||||
import com.facebook.react.modules.core.DeviceEventManagerModule |
||||
|
||||
object EventEmitterModule { |
||||
|
||||
private var reactContext: ReactApplicationContext? = null |
||||
|
||||
fun init(reactApplicationContext: ReactApplicationContext) { |
||||
reactContext = reactApplicationContext |
||||
} |
||||
|
||||
fun sendEvent( |
||||
eventName: String, |
||||
params: String |
||||
) { |
||||
Log.i("MY_SOME_TAG", "sendEvent: context is null ${reactContext == null}") |
||||
reactContext |
||||
?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) |
||||
?.emit(eventName, params) |
||||
} |
||||
} |
@ -0,0 +1,84 @@
@@ -0,0 +1,84 @@
|
||||
package com.app.task_me.core.action |
||||
|
||||
import android.content.BroadcastReceiver |
||||
import android.content.Context |
||||
import android.content.Intent |
||||
import android.os.Bundle |
||||
import android.util.Log |
||||
import com.app.task_me.BuildConfig |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.Constants.DATA_BUNDLE_KEY |
||||
import com.app.task_me.Constants.TAG |
||||
import com.app.task_me.Constants.USER_RESPONSE_ANSWER |
||||
import com.app.task_me.Constants.USER_RESPONSE_TYPE_KEY |
||||
import com.app.task_me.core.cancelled.CancelCallManager |
||||
import com.app.task_me.data.model.Call |
||||
import com.app.task_me.features.notifications.NotificationService |
||||
import com.app.task_me.bridge.EventEmitterModule |
||||
import com.app.task_me.features.activity.WorkAroundActivity |
||||
import com.app.task_me.lifecycle.LifecycleManager |
||||
|
||||
class ActionReceiver : BroadcastReceiver() { |
||||
|
||||
override fun onReceive( |
||||
context: Context, |
||||
intent: Intent? |
||||
) { |
||||
Log.i(TAG, "onReceive: ${intent?.action}") |
||||
if (intent?.action == Constants.ACTION_ANSWER) |
||||
onAnswered(context, intent) |
||||
if (intent?.action == Constants.ACTION_REJECT) |
||||
onRejected(context, intent) |
||||
} |
||||
|
||||
private fun onAnswered( |
||||
context: Context, |
||||
intent: Intent? |
||||
) { |
||||
Log.i(TAG, "onAnswer: RECEIVER") |
||||
NotificationService.cancelNotification(context) |
||||
closeActivity(context) |
||||
startReactNativeActivity(context, intent?.extras) |
||||
} |
||||
|
||||
private fun startReactNativeActivity( |
||||
context: Context, |
||||
args: Bundle? |
||||
) { |
||||
val call = Call.fromBundle(args) |
||||
val lifecycleManager = LifecycleManager(context) |
||||
if (lifecycleManager.isActive()) { |
||||
EventEmitterModule.sendEvent("CallEvent", call.data) |
||||
return |
||||
} |
||||
val extra = Bundle() |
||||
.apply { |
||||
putString(USER_RESPONSE_TYPE_KEY, USER_RESPONSE_ANSWER) |
||||
putString(DATA_BUNDLE_KEY, call.data) |
||||
} |
||||
val intent = Intent(context, WorkAroundActivity::class.java) |
||||
.apply { |
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) |
||||
putExtras(extra) |
||||
} |
||||
Log.i(TAG, "startReactNativeActivity: ") |
||||
context.startActivity(intent) |
||||
} |
||||
|
||||
private fun onRejected( |
||||
context: Context, |
||||
intent: Intent? |
||||
) { |
||||
Log.i(TAG, "onRejected: RECEIVER 1") |
||||
CancelCallManager().onCancelled(context, Call.fromBundle(intent?.extras)) |
||||
NotificationService.cancelNotification(context) |
||||
closeActivity(context) |
||||
} |
||||
|
||||
private fun closeActivity(context: Context) { |
||||
context.sendBroadcast( |
||||
Intent().apply { |
||||
action = Constants.ACTION_CLOSE_ACTIVITY |
||||
}) |
||||
} |
||||
} |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
package com.app.task_me.core.cancelled |
||||
|
||||
import android.content.Context |
||||
import com.app.task_me.BuildConfig |
||||
import com.app.task_me.data.model.Call |
||||
import android.util.Log |
||||
import com.app.task_me.domain.ApiService |
||||
import com.app.task_me.Constants.TAG |
||||
|
||||
class CancelCallManager { |
||||
fun onCancelled( |
||||
context: Context, |
||||
call: Call |
||||
) { |
||||
Log.i(TAG, "onRejected: RECEIVER 2") |
||||
ApiService.sendCallCancelledRequest( |
||||
context, call.authToken, call.uuid |
||||
) |
||||
} |
||||
} |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
package com.app.task_me.core.incoming |
||||
|
||||
import android.app.KeyguardManager |
||||
import android.content.Context |
||||
import android.os.Build |
||||
import android.util.Log |
||||
import com.app.task_me.Constants.TAG |
||||
import com.app.task_me.data.model.Call |
||||
import com.app.task_me.features.activity.CallActivity |
||||
import com.app.task_me.features.notifications.NotificationService |
||||
|
||||
class IncomingManager( |
||||
private val context: Context |
||||
) { |
||||
|
||||
fun onIncomingCall( |
||||
call: Call |
||||
) { |
||||
Log.i(TAG, "onIncomingCall: INCOMING_MANAGER") |
||||
NotificationService.showNotification(context, call) |
||||
if (isDeviceLocked()) { |
||||
CallActivity.startActivity(context, call) |
||||
} |
||||
} |
||||
|
||||
private fun isDeviceLocked(): Boolean { |
||||
val keyguardManager = |
||||
context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager |
||||
return keyguardManager.isKeyguardLocked |
||||
} |
||||
} |
@ -0,0 +1,94 @@
@@ -0,0 +1,94 @@
|
||||
package com.app.task_me.custom_view |
||||
|
||||
import android.animation.AnimatorSet |
||||
import android.animation.ObjectAnimator |
||||
import android.content.Context |
||||
import android.util.AttributeSet |
||||
import android.view.MotionEvent |
||||
import androidx.cardview.widget.CardView |
||||
|
||||
class ShakingCardView @JvmOverloads constructor( |
||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 |
||||
) : CardView(context, attrs, defStyleAttr) { |
||||
|
||||
var animated: Boolean = false |
||||
set(value) { |
||||
field = value |
||||
if (value) { |
||||
startShakingAnimation() |
||||
} else { |
||||
stopShakingAnimation() |
||||
} |
||||
} |
||||
|
||||
private var animatorSet: AnimatorSet? = null |
||||
private val shakeDuration = 2000L |
||||
private val pauseDuration = 1000L |
||||
|
||||
init { |
||||
setOnTouchListener { v, event -> |
||||
when (event.action) { |
||||
MotionEvent.ACTION_DOWN -> { |
||||
v.scaleX = 0.9f |
||||
v.scaleY = 0.9f |
||||
if (animated) stopShakingAnimation() |
||||
} |
||||
MotionEvent.ACTION_UP -> { |
||||
v.scaleX = 1f |
||||
v.scaleY = 1f |
||||
if (event.x > 0 && event.x < v.width && event.y > 0 && event.y < v.height) { |
||||
v.performClick() |
||||
} else { |
||||
if (animated) startShakingAnimation() |
||||
} |
||||
} |
||||
MotionEvent.ACTION_CANCEL -> { |
||||
v.scaleX = 1f |
||||
v.scaleY = 1f |
||||
if (animated) startShakingAnimation() |
||||
} |
||||
} |
||||
true |
||||
} |
||||
} |
||||
|
||||
private fun startShakingAnimation() { |
||||
animatorSet = AnimatorSet().apply { |
||||
val animatorX = ObjectAnimator.ofFloat(this@ShakingCardView, "translationX", -5f, 5f).apply { |
||||
duration = 100 |
||||
repeatMode = ObjectAnimator.REVERSE |
||||
repeatCount = ObjectAnimator.INFINITE |
||||
} |
||||
val animatorY = ObjectAnimator.ofFloat(this@ShakingCardView, "translationY", -5f, 5f).apply { |
||||
duration = 100 |
||||
repeatMode = ObjectAnimator.REVERSE |
||||
repeatCount = ObjectAnimator.INFINITE |
||||
} |
||||
playTogether(animatorX, animatorY) |
||||
start() |
||||
} |
||||
|
||||
postDelayed({ pauseAnimation() }, shakeDuration) |
||||
} |
||||
|
||||
private fun pauseAnimation() { |
||||
animatorSet?.pause() |
||||
postDelayed({ resumeAnimation() }, pauseDuration) |
||||
} |
||||
|
||||
private fun resumeAnimation() { |
||||
animatorSet?.resume() |
||||
postDelayed({ pauseAnimation() }, shakeDuration) |
||||
} |
||||
|
||||
private fun stopShakingAnimation() { |
||||
animatorSet?.cancel() |
||||
animatorSet = null |
||||
translationX = 0f |
||||
translationY = 0f |
||||
} |
||||
|
||||
override fun performClick(): Boolean { |
||||
return super.performClick() |
||||
} |
||||
} |
@ -0,0 +1,115 @@
@@ -0,0 +1,115 @@
|
||||
package com.app.task_me.domain |
||||
|
||||
import android.app.Service |
||||
import android.content.Context |
||||
import android.content.Intent |
||||
import android.os.IBinder |
||||
import android.util.Log |
||||
import com.app.task_me.BuildConfig |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.domain.api.Api |
||||
import okhttp3.OkHttpClient |
||||
import okhttp3.logging.HttpLoggingInterceptor |
||||
import retrofit2.Call |
||||
import retrofit2.Callback |
||||
import retrofit2.Response |
||||
import retrofit2.Retrofit |
||||
import retrofit2.converter.gson.GsonConverterFactory |
||||
import com.app.task_me.Constants.TAG |
||||
|
||||
class ApiService : Service() { |
||||
|
||||
private val TAG = "API_TAG" |
||||
override fun onBind(p0: Intent?): IBinder? = null |
||||
|
||||
private lateinit var api: Api |
||||
|
||||
|
||||
override fun onCreate() { |
||||
super.onCreate() |
||||
Log.i(TAG, "onCreate: ") |
||||
val logging = HttpLoggingInterceptor().apply { |
||||
level = HttpLoggingInterceptor.Level.BODY |
||||
} |
||||
|
||||
val client = OkHttpClient |
||||
.Builder() |
||||
.addInterceptor(logging) |
||||
.build() |
||||
|
||||
val retrofit = Retrofit |
||||
.Builder() |
||||
.baseUrl(BuildConfig.ENV_API_URL) |
||||
.client(client) |
||||
.addConverterFactory(GsonConverterFactory.create()) |
||||
.build() |
||||
|
||||
api = retrofit.create(Api::class.java) |
||||
} |
||||
|
||||
override fun onStartCommand( |
||||
intent: Intent?, |
||||
flags: Int, |
||||
startId: Int |
||||
): Int { |
||||
Log.i(TAG, "onStartCommand: ") |
||||
val authToken = intent?.getStringExtra(Constants.AUTH_TOKEN_FCM_KEY) |
||||
val uuid = intent?.getStringExtra(Constants.UUID_FCM_KEY) |
||||
|
||||
if (authToken != null && uuid != null) { |
||||
sendCancelRequest(authToken, uuid, 0) |
||||
} |
||||
|
||||
return START_NOT_STICKY |
||||
} |
||||
|
||||
private fun sendCancelRequest( |
||||
authToken: String, |
||||
uuid: String, |
||||
retryCount: Int |
||||
) { |
||||
api |
||||
.rejectCall(authToken, uuid) |
||||
.enqueue(object : Callback<Void> { |
||||
override fun onResponse( |
||||
call: Call<Void>, |
||||
response: Response<Void> |
||||
) { |
||||
Log.i( |
||||
TAG, "onResponse: code = ${response.code()}" + |
||||
"\nmessage = ${response.message()}" |
||||
) |
||||
stopSelf() |
||||
} |
||||
|
||||
override fun onFailure( |
||||
call: Call<Void>, |
||||
t: Throwable |
||||
) { |
||||
Log.e(TAG, "onFailure: Error = ${t.message}", t) |
||||
if (retryCount < 3) { |
||||
sendCancelRequest(authToken, uuid, retryCount + 1) |
||||
} |
||||
else { |
||||
stopSelf() |
||||
} |
||||
} |
||||
}) |
||||
} |
||||
|
||||
|
||||
companion object { |
||||
fun sendCallCancelledRequest( |
||||
context: Context, |
||||
authToken: String, |
||||
uuid: String |
||||
) { |
||||
val intent = Intent(context, ApiService::class.java) |
||||
.apply { |
||||
putExtra(Constants.AUTH_TOKEN_FCM_KEY, authToken) |
||||
putExtra(Constants.UUID_FCM_KEY, uuid) |
||||
} |
||||
context.startService(intent) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
package com.app.task_me.domain.api |
||||
|
||||
import retrofit2.Call |
||||
import retrofit2.http.Field |
||||
import retrofit2.http.FormUrlEncoded |
||||
import retrofit2.http.POST |
||||
|
||||
interface Api { |
||||
|
||||
@FormUrlEncoded |
||||
@POST("/calls/reject-by-token") |
||||
fun rejectCall( |
||||
@Field("authToken") |
||||
authToken: String, |
||||
@Field("uuid") |
||||
uuid: String |
||||
): Call<Void> |
||||
} |
@ -0,0 +1,193 @@
@@ -0,0 +1,193 @@
|
||||
package com.app.task_me.features.activity |
||||
|
||||
import android.annotation.SuppressLint |
||||
import android.app.KeyguardManager |
||||
import android.content.BroadcastReceiver |
||||
import android.content.Context |
||||
import android.content.Intent |
||||
import android.content.IntentFilter |
||||
import android.graphics.Bitmap |
||||
import android.graphics.drawable.Drawable |
||||
import android.os.Build |
||||
import android.os.Bundle |
||||
import android.util.Log |
||||
import android.view.WindowManager |
||||
import androidx.appcompat.app.AppCompatActivity |
||||
import androidx.core.os.bundleOf |
||||
import androidx.core.view.isGone |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.Constants.TAG |
||||
import com.app.task_me.core.action.ActionReceiver |
||||
import com.app.task_me.data.model.Call |
||||
import com.app.task_me.databinding.ACallBinding |
||||
import com.bumptech.glide.Glide |
||||
import com.bumptech.glide.request.target.CustomTarget |
||||
import com.bumptech.glide.request.transition.Transition |
||||
|
||||
|
||||
class CallActivity : AppCompatActivity() { |
||||
|
||||
private var _binding: ACallBinding? = null |
||||
private val binding get() = _binding!! |
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) { |
||||
super.onCreate(savedInstanceState) |
||||
Log.i(TAG, "onCreate: CALL ACTIVITY") |
||||
_binding = ACallBinding.inflate(layoutInflater) |
||||
setContentView(binding.root) |
||||
|
||||
registerReceiver() |
||||
showWhenLockedAndTurnScreenOn() |
||||
|
||||
init() |
||||
} |
||||
|
||||
private fun showWhenLockedAndTurnScreenOn() { |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { |
||||
setShowWhenLocked(true) |
||||
setTurnScreenOn(true) |
||||
} |
||||
else { |
||||
window.addFlags( |
||||
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
||||
or WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
||||
or WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
||||
) |
||||
} |
||||
} |
||||
|
||||
private fun showInLockScreen() { |
||||
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED) |
||||
window.addFlags( |
||||
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
||||
or WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
||||
or WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON |
||||
or WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
||||
) |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { |
||||
setShowWhenLocked(true) |
||||
setTurnScreenOn(true) |
||||
Log.i(TAG, "showInLockScreen: ") |
||||
} |
||||
} |
||||
|
||||
|
||||
private fun init() { |
||||
binding.cardAnswer.animated = true |
||||
val caller = intent.extras?.getString(Constants.USER_FCM_KEY) ?: "" |
||||
val photo = intent.extras?.getString(Constants.PHOTO_FCM_KEY) |
||||
|
||||
binding.tvCaller.text = caller |
||||
binding.tvCallerLetter.text = caller |
||||
.firstOrNull() |
||||
?.toString() ?: "S" |
||||
photo?.let { |
||||
loadPhoto(it) |
||||
} |
||||
initListeners() |
||||
} |
||||
|
||||
private fun initListeners() { |
||||
binding.cardAnswer.setOnClickListener { onAnswerClicked() } |
||||
binding.cardCancel.setOnClickListener { onCancelClicked() } |
||||
} |
||||
|
||||
private fun loadPhoto(url: String) { |
||||
Glide |
||||
.with(this) |
||||
.asBitmap() |
||||
.load(url) |
||||
.into(object : CustomTarget<Bitmap>() { |
||||
override fun onResourceReady( |
||||
resource: Bitmap, |
||||
transition: Transition<in Bitmap>? |
||||
) { |
||||
onPhotoLoaded(resource) |
||||
} |
||||
|
||||
override fun onLoadCleared(placeholder: Drawable?) { |
||||
} |
||||
|
||||
}) |
||||
} |
||||
|
||||
|
||||
private fun onPhotoLoaded(bitmap: Bitmap) { |
||||
with(binding) { |
||||
ivPhoto.setImageBitmap(bitmap) |
||||
ivPhoto.isGone = false |
||||
tvCallerLetter.isGone = true |
||||
} |
||||
} |
||||
|
||||
private fun onAnswerClicked() { |
||||
// sendBroadcast( |
||||
// Intent(this, ActionReceiver::class.java).apply { |
||||
// action = Constants.ACTION_ANSWER |
||||
// }) |
||||
WorkAroundActivity.start(this, intent.extras) |
||||
finish() |
||||
} |
||||
|
||||
private fun onCancelClicked() { |
||||
sendBroadcast( |
||||
Intent(this, ActionReceiver::class.java).apply { |
||||
action = Constants.ACTION_REJECT |
||||
}) |
||||
finish() |
||||
} |
||||
|
||||
@SuppressLint("UnspecifiedRegisterReceiverFlag") |
||||
private fun registerReceiver() { |
||||
val intentFilter = IntentFilter() |
||||
.apply { addAction(Constants.ACTION_CLOSE_ACTIVITY) } |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { |
||||
registerReceiver( |
||||
receiver, intentFilter, |
||||
RECEIVER_EXPORTED |
||||
) |
||||
return |
||||
} |
||||
registerReceiver( |
||||
receiver, intentFilter |
||||
) |
||||
} |
||||
|
||||
private val receiver = object : BroadcastReceiver() { |
||||
override fun onReceive( |
||||
p0: Context?, |
||||
p1: Intent? |
||||
) { |
||||
Log.i(TAG, "onReceive: ACTIVITY") |
||||
if (p1?.action == Constants.ACTION_CLOSE_ACTIVITY) |
||||
finish() |
||||
} |
||||
} |
||||
|
||||
|
||||
override fun onDestroy() { |
||||
super.onDestroy() |
||||
_binding = null |
||||
unregisterReceiver(receiver) |
||||
} |
||||
|
||||
|
||||
companion object { |
||||
fun startActivity( |
||||
context: Context, |
||||
call: Call |
||||
) { |
||||
val args = bundleOf( |
||||
Pair(Constants.USER_FCM_KEY, call.name), |
||||
Pair(Constants.PHOTO_FCM_KEY, call.photo) |
||||
) |
||||
val intent = Intent(context, CallActivity::class.java) |
||||
intent.putExtras(args) |
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) |
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) |
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) |
||||
context.startActivity(intent) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,70 @@
@@ -0,0 +1,70 @@
|
||||
package com.app.task_me.features.activity |
||||
|
||||
import android.app.Activity |
||||
import android.content.Context |
||||
import android.content.Intent |
||||
import android.graphics.Color |
||||
import android.os.Bundle |
||||
import android.util.Log |
||||
import android.view.View |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.Constants.DATA_BUNDLE_KEY |
||||
import com.app.task_me.Constants.TAG |
||||
import com.app.task_me.Constants.USER_RESPONSE_ANSWER |
||||
import com.app.task_me.Constants.USER_RESPONSE_TYPE_KEY |
||||
import com.app.task_me.MainActivity |
||||
import com.app.task_me.bridge.EventEmitterModule |
||||
import com.app.task_me.features.notifications.NotificationService |
||||
import com.app.task_me.lifecycle.LifecycleManager |
||||
|
||||
class WorkAroundActivity : Activity() { |
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) { |
||||
super.onCreate(savedInstanceState) |
||||
Log.i(TAG, "onCreate: WORKAROUND") |
||||
// setContentView(View(this) |
||||
// .apply { setBackgroundColor(Color.TRANSPARENT) }) |
||||
NotificationService.cancelNotification(this) |
||||
closeCallActivity() |
||||
val data = intent.extras?.getString(DATA_BUNDLE_KEY) ?: "" |
||||
|
||||
|
||||
// val lifecycleManager = LifecycleManager(this) |
||||
// if (lifecycleManager.isActive()) { |
||||
// EventEmitterModule.sendEvent("CallEvent", data) |
||||
// finish() |
||||
// return |
||||
// } |
||||
val intent = Intent(this, MainActivity::class.java) |
||||
val bundle = Bundle() |
||||
.apply { |
||||
putString(USER_RESPONSE_TYPE_KEY, USER_RESPONSE_ANSWER) |
||||
putString(DATA_BUNDLE_KEY, data) |
||||
} |
||||
intent.putExtras(bundle) |
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) |
||||
startActivity(intent) |
||||
finish() |
||||
} |
||||
|
||||
private fun closeCallActivity() { |
||||
sendBroadcast( |
||||
Intent().apply { |
||||
action = Constants.ACTION_CLOSE_ACTIVITY |
||||
}) |
||||
} |
||||
|
||||
companion object { |
||||
fun start( |
||||
context: Context, |
||||
bundle: Bundle? |
||||
) { |
||||
val intent = Intent(context, WorkAroundActivity::class.java) |
||||
bundle?.let { |
||||
intent.putExtras(it) |
||||
} |
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) |
||||
context.startActivity(intent) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,378 @@
@@ -0,0 +1,378 @@
|
||||
package com.app.task_me.features.notifications |
||||
|
||||
import android.app.Activity |
||||
import android.app.Notification |
||||
import android.app.NotificationChannel |
||||
import android.app.NotificationManager |
||||
import android.app.PendingIntent |
||||
import android.app.Person |
||||
import android.app.Service |
||||
import android.content.BroadcastReceiver |
||||
import android.content.Context |
||||
import android.content.Intent |
||||
import android.content.IntentFilter |
||||
import android.graphics.Bitmap |
||||
import android.graphics.drawable.Drawable |
||||
import android.graphics.drawable.Icon |
||||
import android.media.AudioManager |
||||
import android.media.MediaPlayer |
||||
import android.media.RingtoneManager |
||||
import android.net.Uri |
||||
import android.os.Build |
||||
import android.os.Bundle |
||||
import android.os.IBinder |
||||
import android.view.View |
||||
import android.widget.RemoteViews |
||||
import androidx.annotation.RequiresApi |
||||
import androidx.core.app.ActivityCompat |
||||
import androidx.core.app.NotificationCompat |
||||
import androidx.core.app.NotificationManagerCompat |
||||
import androidx.core.content.ContextCompat |
||||
import androidx.core.graphics.drawable.IconCompat |
||||
import androidx.core.os.bundleOf |
||||
import androidx.core.text.HtmlCompat |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.R |
||||
import com.app.task_me.core.action.ActionReceiver |
||||
import com.app.task_me.data.model.Call |
||||
import com.app.task_me.features.activity.CallActivity |
||||
import com.app.task_me.features.activity.WorkAroundActivity |
||||
import com.bumptech.glide.Glide |
||||
import com.bumptech.glide.request.target.CustomTarget |
||||
import com.bumptech.glide.request.transition.Transition |
||||
|
||||
class NotificationService : Service() { |
||||
|
||||
private val notificationsManager by lazy { |
||||
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager |
||||
} |
||||
|
||||
private var mediaPlayer: MediaPlayer? = null |
||||
|
||||
private var receiverRegistered = false |
||||
|
||||
private val audioManager by lazy { |
||||
getSystemService(AUDIO_SERVICE) as AudioManager |
||||
} |
||||
|
||||
private var originalMode = AudioManager.MODE_NORMAL |
||||
|
||||
|
||||
override fun onBind(p0: Intent?): IBinder? = null |
||||
|
||||
override fun onCreate() { |
||||
super.onCreate() |
||||
listenVolumeDown() |
||||
} |
||||
|
||||
override fun onStartCommand( |
||||
intent: Intent?, |
||||
flags: Int, |
||||
startId: Int |
||||
): Int { |
||||
if (intent?.action == ACTION_SHOW) { |
||||
playDefaultRingtone() |
||||
showNotification(intent.extras) |
||||
} |
||||
else { |
||||
hide() |
||||
} |
||||
|
||||
return START_STICKY |
||||
} |
||||
|
||||
|
||||
private fun playDefaultRingtone() { |
||||
originalMode = audioManager.mode |
||||
audioManager.mode = AudioManager.MODE_IN_CALL |
||||
val ringtoneUri: Uri = |
||||
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE) |
||||
|
||||
mediaPlayer = MediaPlayer.create(this, ringtoneUri) |
||||
mediaPlayer?.isLooping = true |
||||
mediaPlayer?.start() |
||||
} |
||||
|
||||
private fun listenVolumeDown() { |
||||
val intentFilter = IntentFilter("android.media.VOLUME_CHANGED_ACTION") |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) |
||||
registerReceiver( |
||||
volumeReceiver, intentFilter, |
||||
RECEIVER_EXPORTED |
||||
) |
||||
else registerReceiver(volumeReceiver, intentFilter) |
||||
receiverRegistered = true |
||||
} |
||||
|
||||
private val volumeReceiver = object : BroadcastReceiver() { |
||||
override fun onReceive( |
||||
p0: Context?, |
||||
p1: Intent? |
||||
) { |
||||
if (p1?.action == "android.media.VOLUME_CHANGED_ACTION") { |
||||
releaseRingtone() |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
private fun showNotification( |
||||
args: Bundle?, |
||||
photo: Bitmap? = null |
||||
) { |
||||
if (!hasNotificationPermission()) |
||||
return |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { |
||||
createChannel() |
||||
} |
||||
val call = Call.fromBundle(args) |
||||
val notification = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) |
||||
getNotificationApi31(call, photo) |
||||
else |
||||
getNotificationApi25(call, photo) |
||||
startForeground(NOTIFICATION_ID, notification) |
||||
if (photo == null) |
||||
loadPhoto(args, call.photo) |
||||
} |
||||
|
||||
private fun hasNotificationPermission(): Boolean { |
||||
return NotificationManagerCompat |
||||
.from(this) |
||||
.areNotificationsEnabled() |
||||
} |
||||
|
||||
private fun loadPhoto( |
||||
args: Bundle?, |
||||
url: String |
||||
) { |
||||
Glide |
||||
.with(this) |
||||
.asBitmap() |
||||
.load(url) |
||||
.into(object : CustomTarget<Bitmap>() { |
||||
override fun onResourceReady( |
||||
resource: Bitmap, |
||||
transition: Transition<in Bitmap>? |
||||
) { |
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { |
||||
showNotification(args, roundPhoto(resource)) |
||||
} |
||||
} |
||||
|
||||
override fun onLoadCleared(placeholder: Drawable?) { |
||||
} |
||||
|
||||
}) |
||||
} |
||||
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.S) |
||||
private fun getNotificationApi31( |
||||
call: Call, |
||||
photo: Bitmap? = null |
||||
): Notification { |
||||
val person = getPerson(call.name) |
||||
val notificationBuilder = Notification |
||||
.Builder(this, CHANNEL_ID) |
||||
.addPerson(person) |
||||
.setContentIntent(getFullscreenIntent(call)) |
||||
.setSmallIcon(R.drawable.ic_notification_small) |
||||
.setStyle( |
||||
Notification.CallStyle.forIncomingCall( |
||||
person, getCancelIntent(call), getAnswerIntent(call) |
||||
) |
||||
) |
||||
.setCategory(Notification.CATEGORY_CALL) |
||||
.setFullScreenIntent(getFullscreenIntent(call), true) |
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { |
||||
notificationBuilder.setFlag(Notification.FLAG_ONGOING_EVENT, true) |
||||
} |
||||
|
||||
if (photo != null) |
||||
notificationBuilder.setLargeIcon(photo) |
||||
return notificationBuilder.build() |
||||
} |
||||
|
||||
private fun getNotificationApi25( |
||||
call: Call, |
||||
photo: Bitmap? |
||||
): Notification { |
||||
val notificationBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) |
||||
NotificationCompat.Builder(this, CHANNEL_ID) |
||||
else NotificationCompat.Builder(this) |
||||
|
||||
val cancelText = HtmlCompat.fromHtml( |
||||
"<font color=\"${ |
||||
ContextCompat.getColor( |
||||
this, R.color.color_red |
||||
) |
||||
}\">${getString(R.string.cancel)}</font>", |
||||
HtmlCompat.FROM_HTML_MODE_LEGACY |
||||
) |
||||
val answerText = HtmlCompat.fromHtml( |
||||
"<font color=\"${ |
||||
ContextCompat.getColor( |
||||
this, R.color.color_green |
||||
) |
||||
}\">${getString(R.string.answer)}</font>", |
||||
HtmlCompat.FROM_HTML_MODE_LEGACY |
||||
) |
||||
|
||||
|
||||
val cancelAction = NotificationCompat.Action.Builder( |
||||
IconCompat.createWithResource(this, R.drawable.ic_cancel_red), |
||||
cancelText, getCancelIntent(call) |
||||
) |
||||
val answerAction = NotificationCompat.Action.Builder( |
||||
IconCompat.createWithResource(this, R.drawable.ic_answer_green), |
||||
answerText, getAnswerIntent(call) |
||||
) |
||||
|
||||
notificationBuilder |
||||
.setContentText(call.name) |
||||
.setContentTitle(getString(R.string.incoming_call)) |
||||
.setSmallIcon(R.drawable.ic_notification_small) |
||||
.setContentIntent(getFullscreenIntent(call)) |
||||
.setAutoCancel(false) |
||||
.setCategory(Notification.CATEGORY_CALL) |
||||
.setFullScreenIntent(getFullscreenIntent(call), true) |
||||
.addAction(cancelAction.build()) |
||||
.addAction(answerAction.build()) |
||||
|
||||
if (photo == null) { |
||||
notificationBuilder.setLargeIcon(createCircularLetterBitmap(this, call.name)) |
||||
} |
||||
else { |
||||
notificationBuilder.setLargeIcon(photo) |
||||
} |
||||
return notificationBuilder.build() |
||||
} |
||||
|
||||
|
||||
private fun hide() { |
||||
releaseRingtone() |
||||
releaseMediaSession() |
||||
cancelNotification() |
||||
stopSelf() |
||||
} |
||||
|
||||
override fun onDestroy() { |
||||
super.onDestroy() |
||||
releaseRingtone() |
||||
releaseMediaSession() |
||||
} |
||||
|
||||
private fun releaseRingtone() { |
||||
audioManager.mode = originalMode |
||||
mediaPlayer?.release() |
||||
mediaPlayer = null |
||||
} |
||||
|
||||
private fun releaseMediaSession() { |
||||
if (receiverRegistered) { |
||||
receiverRegistered = false |
||||
unregisterReceiver(volumeReceiver) |
||||
} |
||||
} |
||||
|
||||
|
||||
private fun cancelNotification() { |
||||
notificationsManager.cancel(NOTIFICATION_ID) |
||||
} |
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O) |
||||
private fun createChannel() { |
||||
val channel = NotificationChannel( |
||||
CHANNEL_ID, getString(R.string.notification_channel_title), |
||||
NotificationManager.IMPORTANCE_HIGH |
||||
).apply { |
||||
setSound(null, null) |
||||
} |
||||
notificationsManager.createNotificationChannel(channel) |
||||
} |
||||
|
||||
private fun getAnswerIntent(call: Call): PendingIntent { |
||||
val intent = Intent(this, WorkAroundActivity::class.java) |
||||
.apply { |
||||
addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) |
||||
action = Constants.ACTION_ANSWER |
||||
putExtras( |
||||
bundleOf( |
||||
Pair(Constants.DATA_BUNDLE_KEY, call.data) |
||||
) |
||||
) |
||||
} |
||||
return PendingIntent.getActivity( |
||||
this, 0, intent, |
||||
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT |
||||
) |
||||
} |
||||
|
||||
private fun getCancelIntent(call: Call): PendingIntent { |
||||
val intent = Intent(this, ActionReceiver::class.java) |
||||
.apply { |
||||
action = Constants.ACTION_REJECT |
||||
putExtras( |
||||
bundleOf( |
||||
Pair(Constants.AUTH_TOKEN_FCM_KEY, call.authToken), |
||||
Pair(Constants.UUID_FCM_KEY, call.uuid) |
||||
) |
||||
) |
||||
} |
||||
return PendingIntent.getBroadcast( |
||||
this, 0, intent, |
||||
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT |
||||
) |
||||
} |
||||
|
||||
private fun getFullscreenIntent(call: Call): PendingIntent { |
||||
val intent = Intent(this, CallActivity::class.java) |
||||
intent.putExtras( |
||||
bundleOf( |
||||
Pair(Constants.USER_FCM_KEY, call.name), |
||||
Pair(Constants.PHOTO_FCM_KEY, call.photo) |
||||
) |
||||
) |
||||
return PendingIntent.getActivity( |
||||
this, 0, intent, |
||||
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT |
||||
) |
||||
} |
||||
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.P) |
||||
private fun getPerson(caller: String) = Person |
||||
.Builder() |
||||
.setName(caller) |
||||
.setImportant(true) |
||||
.build() |
||||
|
||||
companion object { |
||||
const val CHANNEL_ID = "incoming_channel" |
||||
const val NOTIFICATION_ID = 1 |
||||
|
||||
private const val ACTION_SHOW = "action.show" |
||||
private const val ACTION_HIDE = "action.hide" |
||||
|
||||
fun showNotification( |
||||
context: Context, |
||||
call: Call |
||||
) { |
||||
val intent = Intent(context, NotificationService::class.java) |
||||
.apply { |
||||
action = ACTION_SHOW |
||||
putExtras(call.toBundle()) |
||||
} |
||||
context.startService(intent) |
||||
} |
||||
|
||||
fun cancelNotification(context: Context) { |
||||
val intent = Intent(context, NotificationService::class.java) |
||||
.apply { |
||||
action = ACTION_HIDE |
||||
} |
||||
context.startService(intent) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,64 @@
@@ -0,0 +1,64 @@
|
||||
package com.app.task_me.features.notifications |
||||
|
||||
import android.content.Context |
||||
import android.graphics.Bitmap |
||||
import android.graphics.Canvas |
||||
import android.graphics.Color |
||||
import android.graphics.Paint |
||||
import android.graphics.Rect |
||||
import android.graphics.RectF |
||||
import android.graphics.Typeface |
||||
import android.util.TypedValue |
||||
import com.app.task_me.data.model.Call |
||||
|
||||
fun roundPhoto(bitmap: Bitmap): Bitmap { |
||||
val size = bitmap.width.coerceAtMost(bitmap.height) |
||||
val output = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888) |
||||
|
||||
val canvas = Canvas(output) |
||||
val paint = Paint() |
||||
paint.isAntiAlias = true |
||||
|
||||
val rect = Rect(0, 0, size, size) |
||||
val rectF = RectF(rect) |
||||
|
||||
canvas.drawARGB(0, 0, 0, 0) |
||||
canvas.drawOval(rectF, paint) |
||||
|
||||
paint.xfermode = |
||||
android.graphics.PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN) |
||||
canvas.drawBitmap(bitmap, null, rect, paint) |
||||
|
||||
return output |
||||
} |
||||
|
||||
fun createCircularLetterBitmap(context: Context, input: String, sizeDp: Int = 64): Bitmap { |
||||
val firstLetter = input.firstOrNull()?.uppercaseChar() ?: 'A' |
||||
val sizePx = TypedValue |
||||
.applyDimension(TypedValue.COMPLEX_UNIT_DIP, sizeDp.toFloat(), context.resources.displayMetrics).toInt() |
||||
|
||||
val bitmap = Bitmap.createBitmap(sizePx, sizePx, Bitmap.Config.ARGB_8888) |
||||
val canvas = Canvas(bitmap) |
||||
|
||||
val paintBackground = Paint().apply { |
||||
color = Color.parseColor("#2B2D30") |
||||
isAntiAlias = true |
||||
} |
||||
canvas.drawCircle(sizePx / 2f, sizePx / 2f, sizePx / 2f, paintBackground) |
||||
|
||||
val paintText = Paint().apply { |
||||
color = Color.WHITE |
||||
textSize = sizePx * 0.5f |
||||
typeface = Typeface.DEFAULT_BOLD |
||||
isAntiAlias = true |
||||
textAlign = Paint.Align.CENTER |
||||
} |
||||
|
||||
val xPos = canvas.width / 2 |
||||
val yPos = (canvas.height / 2 - (paintText.descent() + paintText.ascent()) / 2) |
||||
|
||||
canvas.drawText(firstLetter.toString(), xPos.toFloat(), yPos, paintText) |
||||
|
||||
return bitmap |
||||
} |
||||
|
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
package com.app.task_me.lifecycle |
||||
|
||||
import android.content.Context |
||||
|
||||
class LifecycleManager(context: Context) { |
||||
private val prefs = |
||||
context.getSharedPreferences("TaskmeLyfecycle", Context.MODE_PRIVATE) |
||||
|
||||
fun onActive() { |
||||
prefs |
||||
.edit() |
||||
.putBoolean("is_active", true) |
||||
.apply() |
||||
} |
||||
|
||||
fun onInactive() { |
||||
prefs |
||||
.edit() |
||||
.putBoolean("is_active", false) |
||||
.apply() |
||||
} |
||||
|
||||
fun isActive(): Boolean { |
||||
return prefs.getBoolean("is_active", false) |
||||
} |
||||
|
||||
} |
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
package com.app.task_me.data.model |
||||
|
||||
import android.os.Bundle |
||||
import androidx.core.os.bundleOf |
||||
import com.app.task_me.Constants |
||||
|
||||
data class Call( |
||||
val name: String, |
||||
val photo: String, |
||||
val uuid: String, |
||||
val authToken: String, |
||||
val data: String |
||||
) { |
||||
fun toBundle(): Bundle { |
||||
return bundleOf( |
||||
Pair(Constants.USER_FCM_KEY, name), |
||||
Pair(Constants.PHOTO_FCM_KEY, photo), |
||||
Pair(Constants.UUID_FCM_KEY, uuid), |
||||
Pair(Constants.AUTH_TOKEN_FCM_KEY, authToken), |
||||
Pair(Constants.DATA_BUNDLE_KEY, data) |
||||
) |
||||
} |
||||
|
||||
companion object { |
||||
fun fromFCMData(data: Map<String, String>): Call { |
||||
val name = data[Constants.USER_FCM_KEY] ?: "Username" |
||||
val photo = data[Constants.PHOTO_FCM_KEY] ?: "" |
||||
val uuid = data[Constants.UUID_FCM_KEY] ?: "" |
||||
val authToken = data[Constants.AUTH_TOKEN_FCM_KEY] ?: "" |
||||
val dataStr = mapToJson(data) |
||||
return Call(name, photo, uuid, authToken, dataStr) |
||||
} |
||||
|
||||
fun fromBundle(bundle: Bundle?): Call { |
||||
val name = bundle?.getString(Constants.USER_FCM_KEY) ?: "Username" |
||||
val photo = bundle?.getString(Constants.PHOTO_FCM_KEY) ?: "" |
||||
val uuid = bundle?.getString(Constants.UUID_FCM_KEY) ?: "" |
||||
val authToken = bundle?.getString(Constants.AUTH_TOKEN_FCM_KEY) ?: "" |
||||
val dataStr = bundle?.getString(Constants.DATA_BUNDLE_KEY) ?: "" |
||||
return Call(name, photo, uuid, authToken, dataStr) |
||||
} |
||||
|
||||
private fun mapToJson(map: Map<String, Any>): String { |
||||
val jsonBuilder = StringBuilder() |
||||
jsonBuilder.append("{") |
||||
map.entries.forEachIndexed { index, entry -> |
||||
jsonBuilder.append("\"${entry.key}\":") |
||||
when (val value = entry.value) { |
||||
is String -> jsonBuilder.append("\"$value\"") |
||||
is Number, is Boolean -> jsonBuilder.append(value) |
||||
is Map<*, *> -> jsonBuilder.append( |
||||
mapToJson(value as Map<String, Any>) |
||||
) |
||||
|
||||
else -> jsonBuilder.append( |
||||
"\"$value\"" |
||||
) |
||||
} |
||||
if (index < map.size - 1) { |
||||
jsonBuilder.append(",") |
||||
} |
||||
} |
||||
jsonBuilder.append("}") |
||||
return jsonBuilder.toString() |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
package com.app.task_me.service |
||||
|
||||
import android.content.Intent |
||||
import android.util.Log |
||||
import com.app.task_me.Constants |
||||
import com.app.task_me.Constants.TAG |
||||
import com.app.task_me.core.incoming.IncomingManager |
||||
import com.app.task_me.data.model.Call |
||||
import com.app.task_me.features.notifications.NotificationService |
||||
import com.google.firebase.messaging.FirebaseMessagingService |
||||
import com.google.firebase.messaging.RemoteMessage |
||||
|
||||
class FirebaseService : FirebaseMessagingService() { |
||||
override fun onNewToken(token: String) { |
||||
super.onNewToken(token) |
||||
} |
||||
|
||||
override fun onMessageReceived(message: RemoteMessage) { |
||||
super.onMessageReceived(message) |
||||
val data = message.data |
||||
handleData(data) |
||||
} |
||||
|
||||
private fun handleData(data: Map<String, String>) { |
||||
|
||||
if (data.containsKey(Constants.PUSH_TYPE_FCM_KEY)) { |
||||
if (data[Constants.PUSH_TYPE_FCM_KEY] == Constants.TYPE_INCOME) { |
||||
onIncomingCall(data) |
||||
return |
||||
} |
||||
if (data[Constants.PUSH_TYPE_FCM_KEY] == Constants.TYPE_REJECT) |
||||
onCancelled() |
||||
} |
||||
} |
||||
|
||||
|
||||
private fun logData(data: Map<String, String>) { |
||||
for (key in data.keys) { |
||||
Log.i(TAG, "logData: $key = ${data[key]}") |
||||
} |
||||
} |
||||
|
||||
private fun onIncomingCall(data: Map<String, String>) { |
||||
IncomingManager(this).onIncomingCall(Call.fromFCMData(data)) |
||||
} |
||||
|
||||
private fun onCancelled() { |
||||
Log.i(TAG, "onCancelled: ") |
||||
NotificationService.cancelNotification(this) |
||||
sendBroadcast( |
||||
Intent().apply { |
||||
action = Constants.ACTION_CLOSE_ACTIVITY |
||||
}) |
||||
} |
||||
} |
@ -1,41 +0,0 @@
@@ -1,41 +0,0 @@
|
||||
package com.app.task_me; |
||||
|
||||
import android.content.Intent; |
||||
|
||||
import com.facebook.react.ReactActivity; |
||||
import com.facebook.react.ReactActivityDelegate; |
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; |
||||
import com.facebook.react.defaults.DefaultReactActivityDelegate; |
||||
|
||||
public class MainActivity extends ReactActivity { |
||||
|
||||
/** |
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule |
||||
* rendering of the component. |
||||
*/ |
||||
@Override |
||||
protected String getMainComponentName() { |
||||
return "taskme2"; |
||||
} |
||||
|
||||
/** |
||||
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link |
||||
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React |
||||
* (aka React 18) with two boolean flags. |
||||
*/ |
||||
@Override |
||||
protected ReactActivityDelegate createReactActivityDelegate() { |
||||
return new DefaultReactActivityDelegate( |
||||
this, |
||||
getMainComponentName(), |
||||
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
||||
DefaultNewArchitectureEntryPoint.getFabricEnabled() |
||||
); |
||||
} |
||||
|
||||
@Override |
||||
public void onNewIntent(Intent intent) { |
||||
super.onNewIntent(intent); |
||||
setIntent(intent); |
||||
} |
||||
} |
@ -1,63 +0,0 @@
@@ -1,63 +0,0 @@
|
||||
package com.app.task_me; |
||||
|
||||
import android.app.Application; |
||||
import com.facebook.react.PackageList; |
||||
import com.facebook.react.ReactApplication; |
||||
import com.facebook.react.ReactNativeHost; |
||||
import com.facebook.react.ReactPackage; |
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; |
||||
import com.facebook.react.defaults.DefaultReactNativeHost; |
||||
import com.facebook.soloader.SoLoader; |
||||
import java.util.List; |
||||
import com.rumax.reactnative.pdfviewer.PDFViewPackage; |
||||
|
||||
public class MainApplication extends Application implements ReactApplication { |
||||
|
||||
private final ReactNativeHost mReactNativeHost = |
||||
new DefaultReactNativeHost(this) { |
||||
@Override |
||||
public boolean getUseDeveloperSupport() { |
||||
return BuildConfig.DEBUG; |
||||
} |
||||
|
||||
@Override |
||||
protected List<ReactPackage> getPackages() { |
||||
@SuppressWarnings("UnnecessaryLocalVariable") |
||||
List<ReactPackage> packages = new PackageList(this).getPackages(); |
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
packages.add(new PDFViewPackage()); |
||||
return packages; |
||||
} |
||||
|
||||
@Override |
||||
protected String getJSMainModuleName() { |
||||
return "index"; |
||||
} |
||||
|
||||
@Override |
||||
protected boolean isNewArchEnabled() { |
||||
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; |
||||
} |
||||
|
||||
@Override |
||||
protected Boolean isHermesEnabled() { |
||||
return BuildConfig.IS_HERMES_ENABLED; |
||||
} |
||||
}; |
||||
|
||||
@Override |
||||
public ReactNativeHost getReactNativeHost() { |
||||
return mReactNativeHost; |
||||
} |
||||
|
||||
@Override |
||||
public void onCreate() { |
||||
super.onCreate(); |
||||
SoLoader.init(this, /* native exopackage */ false); |
||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { |
||||
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||
DefaultNewArchitectureEntryPoint.load(); |
||||
} |
||||
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); |
||||
} |
||||
} |
@ -0,0 +1,394 @@
@@ -0,0 +1,394 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="375dp" |
||||
android:height="812dp" |
||||
android:viewportWidth="375" |
||||
android:viewportHeight="812"> |
||||
<group> |
||||
<clip-path |
||||
android:pathData="M0,0h375v812h-375z"/> |
||||
<path |
||||
android:pathData="M551.91,-17.38H-110.05V812H551.91V-17.38Z" |
||||
android:fillColor="#232323"/> |
||||
<path |
||||
android:pathData="M98.19,791.84L92.21,789.54C91.98,789.54 91.98,789.25 91.75,788.96C91.75,788.67 91.75,788.39 91.98,788.39L96.58,783.2C96.81,782.92 97.04,782.92 97.04,782.92C97.27,782.92 97.27,783.2 97.5,783.49L98.65,790.98C98.65,791.27 98.65,791.55 98.42,791.55C98.42,791.84 98.42,791.84 98.19,791.84ZM93.59,788.39L97.5,790.11L96.58,785.22L93.59,788.39Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M294.94,191.98H294.71C294.48,191.98 294.48,191.7 294.48,191.41L293.8,179.89C293.8,179.6 293.8,179.31 294.02,179.31C294.26,179.02 294.48,179.02 294.48,179.31L302.76,184.21C302.99,184.21 302.99,184.5 302.99,184.78C302.99,185.07 302.99,185.36 302.76,185.36L295.17,191.98C295.17,191.98 295.17,191.98 294.94,191.98ZM294.94,181.04L295.4,189.97L301.38,184.78L294.94,181.04Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M214.26,378.88C214.04,378.88 213.8,378.88 213.8,378.59L209.9,370.82C209.9,370.53 209.67,370.24 209.9,370.24C209.9,369.95 210.13,369.95 210.36,369.95L217.48,369.67C217.71,369.67 217.94,369.67 217.94,369.95C217.94,370.24 218.17,370.53 217.94,370.53L214.49,378.59C214.49,378.88 214.26,378.88 214.26,378.88ZM211.28,371.11L214.03,376.58L216.56,370.82L211.28,371.11Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M147.38,499.55C147.15,499.55 147.15,499.55 146.92,499.26C146.69,498.97 146.69,498.68 146.69,498.68L148.99,486.59C148.99,486.3 149.22,486.01 149.45,486.01C149.68,486.01 149.91,486.01 149.91,486.3L157.03,494.94C157.26,495.23 157.26,495.51 157.26,495.51C157.26,495.8 157.03,496.09 156.8,496.09L147.38,499.55ZM149.91,488.03L148.07,497.82L155.88,494.94L149.91,488.03Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M118.42,227.69C118.19,227.69 118.42,227.69 118.42,227.69L106.47,221.65C106.24,221.65 106.24,221.36 106.01,221.07C106.01,220.78 106.01,220.49 106.24,220.49L116.12,210.7C116.35,210.41 116.58,210.41 116.58,210.7C116.81,210.7 116.81,210.99 117.04,211.28L118.65,226.83C118.65,227.12 118.65,227.41 118.42,227.41C118.65,227.69 118.42,227.69 118.42,227.69ZM107.85,220.78L117.73,225.68L116.35,212.43L107.85,220.78Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M46.71,375.71H46.48L23.26,359.3C23.03,359.3 23.03,359.01 23.03,358.72C23.03,358.44 23.03,358.15 23.26,358.15L46.25,341.16C46.48,341.16 46.71,341.16 46.71,341.16C46.94,341.16 46.94,341.45 46.94,341.73L47.4,375.14C47.4,375.43 47.4,375.71 47.17,375.71C46.71,375.43 46.71,375.71 46.71,375.71ZM24.41,358.44L46.02,373.41L45.56,342.6L24.41,358.44Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M370.33,22.65C370.11,22.65 370.33,22.65 370.33,22.65C369.88,22.65 369.88,22.37 369.88,22.08L367.58,3.65C367.58,3.36 367.58,3.07 367.81,3.07C367.81,2.78 368.04,2.78 368.04,2.78L382.06,9.41C382.29,9.41 382.29,9.69 382.52,9.98C382.52,10.27 382.52,10.56 382.29,10.56L370.79,22.37C370.56,22.65 370.33,22.65 370.33,22.65ZM368.73,4.51L370.79,20.64L380.91,10.27L368.73,4.51Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M145.31,44.54C144.85,44.54 144.85,44.25 144.85,43.96L143.47,36.76C143.47,36.48 143.47,36.19 143.7,36.19C143.93,35.9 144.16,35.9 144.16,35.9L149.91,37.92C150.14,37.92 150.37,38.2 150.37,38.49C150.37,38.78 150.37,39.07 150.14,39.07L145.77,44.25C145.77,44.25 145.54,44.54 145.31,44.54ZM144.85,37.63L145.77,42.52L148.53,39.07L144.85,37.63Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M66.7,506.74C66.47,506.74 66.7,506.74 66.7,506.74L45.56,497.82C45.33,497.82 45.33,497.53 45.1,497.24C45.1,496.95 45.1,496.67 45.33,496.67L61.87,478.23C62.1,477.95 62.33,477.95 62.33,477.95C62.56,477.95 62.56,478.23 62.79,478.52L67.16,505.59C67.16,505.88 67.16,506.17 66.93,506.17C66.93,506.46 66.7,506.74 66.7,506.74ZM46.7,496.95L65.78,505.02L61.64,480.25L46.7,496.95Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M22.11,75.07C21.88,75.07 22.11,75.07 22.11,75.07C21.65,75.07 21.65,74.78 21.65,74.49L16.37,45.4C16.37,45.12 16.37,44.83 16.6,44.83C16.83,44.54 17.06,44.54 17.06,44.54L39.81,53.18C40.04,53.18 40.04,53.47 40.27,53.76C40.27,54.04 40.27,54.33 40.04,54.33L22.57,74.49C22.34,75.07 22.11,75.07 22.11,75.07ZM17.52,46.56L22.34,73.05L38.2,54.62L17.52,46.56Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M0.74,750.66C0.51,750.66 0.51,750.66 0.74,750.66C0.51,750.66 0.28,750.37 0.28,750.37L-6.85,732.81C-6.85,732.52 -6.85,732.23 -6.85,732.23C-6.85,731.94 -6.62,731.94 -6.39,731.94L9.24,732.81C9.47,732.81 9.7,733.09 9.7,733.09C9.7,733.38 9.7,733.67 9.7,733.67L1.2,750.09C0.97,750.66 0.74,750.66 0.74,750.66ZM-5.7,733.38L0.51,748.65L7.86,734.25L-5.7,733.38Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M130.6,670.6C130.37,670.6 130.37,670.6 130.14,670.32C129.91,670.03 129.91,669.74 129.91,669.74L135.66,640.65C135.66,640.37 135.89,640.08 136.12,640.08C136.35,640.08 136.58,640.08 136.58,640.37L153.82,661.1C154.05,661.39 154.05,661.68 154.05,661.68C154.05,661.96 153.82,662.25 153.59,662.25L130.6,670.6C130.83,670.6 130.6,670.6 130.6,670.6ZM136.58,642.09L131.29,668.88L152.44,661.1L136.58,642.09Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M177.03,640.37C176.8,640.37 176.8,640.37 176.57,640.08C176.34,639.79 176.34,639.79 176.34,639.5L177.26,631.73C177.26,631.44 177.49,631.15 177.72,631.15C177.95,631.15 178.18,631.15 178.18,631.15L183.23,636.05C183.46,636.34 183.46,636.34 183.46,636.62C183.46,636.91 183.23,637.2 183,637.2L177.03,640.37C177.26,640.37 177.26,640.37 177.03,640.37ZM178.41,633.17L177.95,638.35L181.85,636.34L178.41,633.17Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M220.7,80.83H220.47L208.06,73.05C207.83,73.05 207.83,72.76 207.83,72.47C207.83,72.19 207.83,71.9 208.06,71.9L219.78,62.39C220.01,62.39 220.24,62.11 220.24,62.39C220.47,62.39 220.47,62.68 220.47,62.97L221.16,80.25C221.16,80.54 221.16,80.83 220.93,80.83C220.93,80.83 220.93,80.83 220.7,80.83ZM209.44,72.19L220.01,79.1L219.32,64.12L209.44,72.19Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M178.41,431.58C178.18,431.58 177.95,431.58 177.95,431.29C177.95,431.01 177.95,430.72 177.95,430.72L193.12,395.87C193.12,395.58 193.35,395.58 193.58,395.58C193.81,395.58 194.04,395.58 194.04,395.87L210.59,429.57C210.59,429.85 210.59,430.14 210.59,430.14C210.59,430.43 210.36,430.43 210.13,430.43L178.41,431.58ZM193.35,397.31L179.1,429.85L208.75,428.99L193.35,397.31Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M109.45,435.33C109.22,435.33 108.99,435.33 108.99,435.04L104.4,427.26C104.17,426.97 104.17,426.69 104.4,426.69C104.4,426.4 104.63,426.4 104.86,426.11L112.44,424.96C112.67,424.96 112.9,424.96 112.9,425.25C113.13,425.54 113.13,425.82 112.9,425.82L109.91,434.75C109.91,435.33 109.91,435.33 109.45,435.33C109.68,435.33 109.68,435.33 109.45,435.33ZM106,427.55L109.45,433.31L111.52,426.69L106,427.55Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M357.23,557.43C357,557.43 356.77,557.43 356.77,557.14C356.54,556.85 356.54,556.57 356.77,556.57L369.19,519.99C369.19,519.7 369.42,519.7 369.64,519.7C369.88,519.7 370.11,519.7 370.11,519.99L389.18,551.96C389.41,552.24 389.41,552.53 389.18,552.53C389.18,552.82 388.95,552.82 388.72,552.82L357.23,557.43ZM369.88,521.72L358.15,555.99L387.57,551.67L369.88,521.72Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M63.94,184.21H63.71L53.37,177.3C53.14,177.3 53.14,177.01 53.14,176.72C53.14,176.43 53.14,176.15 53.37,176.15L63.25,168.37C63.48,168.37 63.71,168.37 63.71,168.37C63.94,168.37 63.94,168.66 63.94,168.95L64.17,183.63C64.17,183.92 64.17,184.21 63.94,184.21C64.17,184.21 63.94,184.21 63.94,184.21ZM54.75,176.43L63.25,182.19L63.02,170.1L54.75,176.43Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M283.45,674.35C283.22,674.35 282.99,674.35 282.99,674.06C282.99,673.77 282.76,673.48 282.99,673.48L285.75,667.15C285.75,666.86 285.98,666.86 286.21,666.86C286.43,666.86 286.67,666.86 286.67,667.15L289.65,673.2C289.65,673.48 289.88,673.77 289.65,673.77C289.65,674.06 289.42,674.06 289.19,674.06L283.45,674.35C283.68,674.35 283.45,674.35 283.45,674.35ZM286.21,668.88L284.37,672.91L288.04,672.62L286.21,668.88Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M153.13,449.15C152.9,449.15 152.67,449.15 152.67,448.86L148.76,440.8C148.76,440.51 148.76,440.22 148.76,440.22C148.76,439.93 148.99,439.93 149.22,439.93L156.8,439.64C157.03,439.64 157.26,439.64 157.26,439.93C157.26,440.22 157.26,440.51 157.26,440.51L153.59,448.86C153.59,448.86 153.35,449.15 153.13,449.15ZM150.37,441.08L153.35,447.13L156.11,441.08H150.37Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M110.37,744.04C110.14,744.04 109.91,744.04 109.91,743.75L106.93,737.7C106.93,737.41 106.93,737.13 106.93,737.13C106.93,736.84 107.16,736.84 107.39,736.84H113.13C113.36,736.84 113.59,736.84 113.59,737.13C113.59,737.41 113.59,737.7 113.59,737.7L110.83,744.04C110.6,743.75 110.37,744.04 110.37,744.04ZM108.31,737.7L110.14,741.73L111.98,737.7H108.31Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M168.76,19.49C168.53,19.49 168.3,19.49 168.3,19.2L161.17,6.24C160.94,5.95 160.94,5.66 161.17,5.66C161.17,5.38 161.4,5.38 161.63,5.38L174.27,3.94C174.5,3.94 174.73,3.94 174.73,4.22C174.96,4.51 174.96,4.8 174.73,4.8L169.22,19.2C169.22,19.49 168.99,19.49 168.76,19.49C168.99,19.49 168.76,19.49 168.76,19.49ZM162.55,6.53L168.53,17.47L173.12,5.38L162.55,6.53Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M17.29,10.56H17.06C16.83,10.56 16.83,10.27 16.83,9.98L16.37,2.21C16.37,1.92 16.37,1.63 16.6,1.63C16.83,1.63 17.06,1.34 17.06,1.63L22.57,5.38C22.8,5.38 22.8,5.66 22.8,5.95C22.8,6.24 22.8,6.53 22.57,6.53L17.29,10.56C17.52,10.56 17.29,10.56 17.29,10.56ZM17.52,3.36L17.75,8.54L21.19,5.66L17.52,3.36Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M189.67,258.8L176.11,257.64C175.88,257.64 175.65,257.36 175.65,257.36C175.65,257.07 175.65,256.78 175.65,256.78L183.01,242.67C183.01,242.38 183.24,242.38 183.47,242.38C183.7,242.38 183.93,242.67 183.93,242.67L189.9,257.93C189.9,258.22 189.9,258.51 189.9,258.51C189.9,258.8 189.9,258.8 189.67,258.8ZM177.26,256.49L188.75,257.36L183.7,244.4L177.26,256.49Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M338.62,339.72C338.39,339.72 338.39,339.72 338.62,339.72L331.03,336.55C330.8,336.55 330.8,336.26 330.57,335.97C330.57,335.68 330.57,335.4 330.8,335.4L336.55,329.06C336.78,328.77 337.01,328.77 337.01,329.06C337.24,329.06 337.24,329.35 337.47,329.64L339.08,339.14C339.08,339.43 339.08,339.72 338.85,339.72H338.62ZM332.18,335.68L337.7,337.99L336.55,330.79L332.18,335.68Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M316.55,143.6C316.32,143.6 316.32,143.6 316.55,143.6C316.09,143.6 316.09,143.32 316.09,143.03L313.79,131.8C313.79,131.51 313.79,131.22 314.02,131.22C314.25,130.93 314.48,130.93 314.48,130.93L323.44,134.1C323.67,134.1 323.9,134.39 323.9,134.68C323.9,134.96 323.9,135.25 323.67,135.25L317.01,143.32C316.78,143.6 316.55,143.6 316.55,143.6ZM314.94,132.66L316.78,141.59L322.06,135.25L314.94,132.66Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M191.28,122.58C191.05,122.58 190.82,122.29 190.82,122.01L186.68,104.73C186.68,104.44 186.68,104.15 186.91,104.15C187.14,103.86 187.37,103.86 187.37,103.86L201.39,107.89C201.62,107.89 201.85,108.18 201.85,108.47C201.85,108.76 201.85,109.05 201.62,109.05L191.74,122.29C191.74,122.58 191.51,122.58 191.28,122.58ZM188.06,105.59L191.74,120.57L200.24,109.05L188.06,105.59Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M264.83,450.3C264.6,450.3 264.83,450.3 264.83,450.3C264.37,450.01 264.37,450.01 264.37,449.73L262.3,428.99C262.3,428.7 262.3,428.42 262.53,428.42C262.76,428.13 262.99,428.13 262.99,428.42L278.62,436.48C278.85,436.48 278.85,436.77 279.08,437.05C279.08,437.34 279.08,437.63 278.85,437.63L265.52,450.3C265.06,450.3 265.06,450.3 264.83,450.3ZM263.45,429.86L265.29,448.29L277.24,437.05L263.45,429.86Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M68.54,124.31C68.31,124.31 68.54,124.31 68.54,124.31L42.8,122.29C42.57,122.29 42.34,122.01 42.34,122.01C42.34,121.72 42.34,121.43 42.34,121.43L56.59,94.36C56.59,94.07 56.82,94.07 57.05,94.07C57.28,94.07 57.51,94.36 57.51,94.36L69,123.16C69,123.45 69,123.73 69,123.73C68.77,124.31 68.54,124.31 68.54,124.31ZM43.72,121.14L67.39,122.87L56.59,96.09L43.72,121.14Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M246.9,793.57L222.77,792.71C222.54,792.71 222.31,792.42 222.31,792.42C222.31,792.13 222.31,791.84 222.31,791.84L234.95,765.92C234.95,765.64 235.18,765.64 235.41,765.64C235.64,765.64 235.87,765.92 235.87,765.92L247.37,792.71C247.37,792.99 247.37,793.28 247.37,793.28C247.37,793.28 247.13,793.57 246.9,793.57ZM223.69,791.27L245.99,792.13L235.41,767.65L223.69,791.27Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M180.94,740.29H180.71C180.48,740.29 180.48,740.01 180.48,739.72V731.94C180.48,731.66 180.48,731.37 180.71,731.37C180.94,731.37 181.17,731.37 181.17,731.37L186.46,735.11C186.68,735.11 186.68,735.4 186.68,735.69C186.68,735.97 186.68,736.26 186.46,736.26L181.17,740.29C181.17,740.29 181.17,740.29 180.94,740.29ZM181.4,733.09V738.28L184.85,735.69L181.4,733.09Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M325.97,88.31C325.74,88.31 325.74,88.31 325.51,88.02L306.89,61.53C306.66,61.24 306.66,60.95 306.89,60.95C306.89,60.67 307.12,60.67 307.35,60.38L334.94,53.47C335.17,53.47 335.39,53.47 335.39,53.76C335.39,54.04 335.63,54.33 335.39,54.33L326.43,87.74C326.43,88.31 326.2,88.31 325.97,88.31ZM308.5,61.82L325.74,86.3L334.02,55.2L308.5,61.82Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M209.67,154.26C209.44,154.26 209.44,154.26 209.67,154.26C209.21,153.97 209.21,153.97 209.21,153.68L208.52,145.62C208.52,145.33 208.52,145.04 208.75,145.04C208.98,144.76 209.21,144.76 209.21,145.04L215.19,148.21C215.42,148.21 215.42,148.5 215.42,148.79C215.42,149.08 215.42,149.36 215.19,149.36L209.9,154.26H209.67ZM209.44,146.77L209.9,152.24L213.58,148.79L209.44,146.77Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M332.41,744.61L322.3,741.16C322.07,741.16 321.84,740.87 321.84,740.58C321.84,740.29 321.84,740.01 322.07,740.01L329.42,731.08C329.65,730.79 329.88,730.79 329.88,730.79C330.11,730.79 330.34,731.08 330.34,731.37L332.87,743.75C332.87,744.04 332.87,744.33 332.64,744.33C332.87,744.61 332.64,744.61 332.41,744.61ZM323.68,740.29L331.72,743.17L329.65,733.09L323.68,740.29Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M307.13,12H306.9L300.92,6.81C300.69,6.81 300.69,6.53 300.69,6.24C300.69,5.95 300.92,5.66 300.92,5.66L307.58,1.63C307.82,1.63 308.05,1.63 308.05,1.63C308.27,1.63 308.27,1.92 308.27,2.21L307.82,11.42C307.82,11.71 307.58,12 307.58,12C307.36,12 307.36,12 307.13,12ZM302.3,6.24L306.67,9.98L307.13,3.36L302.3,6.24Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M237.94,130.65C237.71,130.65 237.48,130.65 237.48,130.36L234.26,123.16C234.26,122.87 234.26,122.58 234.26,122.58C234.26,122.29 234.49,122.29 234.72,122.29H241.39C241.62,122.29 241.85,122.29 241.85,122.58C241.85,122.87 241.85,123.16 241.85,123.16L238.4,130.36C238.4,130.36 238.17,130.65 237.94,130.65ZM235.64,123.45L237.94,128.63L240.24,123.45H235.64Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M317.01,292.49C316.78,292.49 316.78,292.49 316.55,292.2C316.32,291.91 316.32,291.63 316.32,291.63L321.61,270.89C321.61,270.6 321.83,270.6 322.07,270.32C322.3,270.32 322.52,270.32 322.52,270.6L334.25,286.73C334.48,287.02 334.48,287.31 334.48,287.31C334.48,287.59 334.25,287.59 334.02,287.88L317.01,292.49ZM322.52,272.33L317.93,290.76L332.87,286.73L322.52,272.33Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M60.73,607.54C60.27,607.54 59.81,607.25 59.12,607.25C58.66,606.96 57.74,606.67 57.51,606.96C57.28,607.25 57.05,607.25 56.59,607.25C56.36,606.96 56.36,606.67 56.36,606.1C57.05,604.95 58.2,605.52 59.12,605.81C59.58,606.1 60.5,606.38 60.73,606.1C60.96,605.81 60.5,604.94 60.27,604.37C59.81,603.22 59.12,602.07 59.81,600.91C60.5,599.76 61.65,600.34 62.57,600.63C63.03,600.91 63.95,601.2 64.18,600.91C64.4,600.63 63.95,599.76 63.72,599.18C63.26,598.03 62.57,596.88 63.26,595.73C63.95,594.58 65.09,595.15 66.01,595.44C66.47,595.73 67.39,596.02 67.62,595.73C67.85,595.44 67.39,594.58 67.16,594C66.7,592.85 66.01,591.7 66.7,590.55C66.93,590.26 67.16,590.26 67.62,590.26C67.85,590.55 67.85,590.83 67.85,591.41C67.62,591.7 68.08,592.56 68.31,593.14C68.77,594.29 69.46,595.44 68.77,596.59C68.08,597.74 66.93,597.17 66.01,596.88C65.55,596.59 64.63,596.3 64.4,596.59C64.18,596.88 64.63,597.74 64.86,598.32C65.32,599.47 66.01,600.63 65.32,601.78C64.63,602.93 63.49,602.35 62.57,602.07C62.11,601.78 61.19,601.49 60.96,601.78C60.73,602.07 61.19,602.93 61.42,603.51C61.88,604.66 62.57,605.81 61.88,606.96C61.65,607.54 61.19,607.54 60.73,607.54Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M16.6,318.7C16.37,318.7 16.14,318.7 16.14,318.41C15.91,318.12 16.14,317.54 16.37,317.54C17.97,316.39 17.51,312.65 17.06,309.19C16.6,305.16 15.91,301.13 18.2,299.4C20.5,297.67 23.26,300.26 25.79,302.57C28.09,304.58 30.39,306.89 32,305.74C33.6,304.58 33.14,300.84 32.69,297.39C32.23,293.35 31.54,289.32 33.83,287.59C36.13,285.86 38.89,288.46 41.42,290.76C43.72,292.78 46.02,295.08 47.63,293.93C49.23,292.78 48.77,289.03 48.31,285.58C47.86,281.55 47.17,277.51 49.46,275.79C51.76,274.06 54.52,276.65 57.05,278.95C59.35,280.97 61.65,283.27 63.26,282.12C63.48,281.83 63.94,282.12 63.94,282.41C64.17,282.7 63.94,283.27 63.71,283.27C61.42,285 58.66,282.41 56.13,280.11C53.83,278.09 51.53,275.79 49.92,276.94C48.31,278.09 48.77,281.83 49.23,285.29C49.69,289.32 50.38,293.35 48.08,295.08C45.79,296.81 43.03,294.22 40.5,291.91C38.2,289.9 35.9,287.59 34.29,288.74C32.69,289.9 33.14,293.64 33.6,297.1C34.06,301.13 34.75,305.16 32.46,306.89C30.16,308.62 27.4,306.02 24.87,303.72C22.57,301.7 20.27,299.4 18.66,300.55C17.06,301.7 17.51,305.45 17.97,308.9C18.43,312.93 19.12,316.97 16.83,318.7C16.6,318.7 16.6,318.7 16.6,318.7Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M359.53,155.99C359.3,155.99 359.3,155.99 359.53,155.99C359.07,155.7 358.84,155.41 359.07,155.12C359.76,152.82 357.23,150.23 354.93,147.64C352.4,144.76 349.64,142.16 350.56,138.71C351.48,135.25 354.93,135.25 358.38,134.96C361.37,134.68 364.58,134.39 365.05,132.09C365.73,129.78 363.21,127.19 360.91,124.6C358.38,121.72 355.62,119.13 356.54,115.67C357.46,112.21 360.91,112.21 364.36,111.93C367.34,111.64 370.56,111.35 371.02,109.05C371.71,106.74 369.18,104.15 366.88,101.56C364.36,98.68 361.6,96.09 362.52,92.63C363.44,89.18 366.88,89.18 370.33,88.89C373.32,88.6 376.54,88.31 377,86.01C377,85.72 377.46,85.43 377.69,85.43C377.92,85.43 378.15,86.01 378.15,86.3C377.23,89.75 373.78,89.75 370.33,90.04C367.34,90.33 364.13,90.62 363.67,92.92C362.98,95.22 365.5,97.82 367.8,100.41C370.33,103.29 373.09,105.88 372.17,109.33C371.25,112.79 367.8,112.79 364.36,113.08C361.37,113.37 358.15,113.65 357.69,115.96C357,118.26 359.53,120.85 361.83,123.45C364.36,126.32 367.11,128.92 366.19,132.37C365.27,135.83 361.83,135.83 358.38,136.12C355.39,136.4 352.17,136.69 351.71,139C351.02,141.3 353.55,143.89 355.85,146.48C358.38,149.36 361.14,151.96 360.22,155.41C359.99,155.7 359.76,155.99 359.53,155.99Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M19.12,155.12C18.89,155.12 18.66,154.84 18.66,154.55C18.43,153.4 17.05,152.82 15.44,152.53C13.61,151.96 11.54,151.38 11.31,149.36C11.08,147.35 12.69,145.91 14.52,144.76C15.9,143.89 17.28,142.74 17.05,141.59C16.82,140.44 15.44,139.86 13.84,139.57C12,139 9.93,138.42 9.7,136.4C9.47,134.39 11.08,132.95 12.92,131.8C14.29,130.93 15.67,129.78 15.44,128.63C15.21,127.48 13.84,126.9 12.23,126.61C10.39,126.04 8.32,125.46 8.09,123.45C7.86,121.43 9.47,119.99 11.31,118.84C12.69,117.97 14.07,116.82 13.84,115.67C13.84,115.38 14.07,114.81 14.29,114.81C14.52,114.81 14.98,115.1 14.98,115.38C15.21,117.4 13.61,118.84 11.77,119.99C10.39,120.85 9.01,122.01 9.24,123.16C9.47,124.31 10.85,124.89 12.46,125.17C14.29,125.75 16.36,126.33 16.59,128.34C16.82,130.36 15.21,131.8 13.38,132.95C12,133.81 10.62,134.96 10.85,136.12C11.08,137.27 12.46,137.85 14.07,138.13C15.9,138.71 17.97,139.29 18.2,141.3C18.43,143.32 16.82,144.76 14.98,145.91C13.61,146.77 12.23,147.92 12.46,149.08C12.69,150.23 14.07,150.8 15.67,151.09C17.51,151.67 19.58,152.24 19.81,154.26C19.58,154.84 19.35,155.12 19.12,155.12Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M372.63,363.33C371.02,363.33 370.1,361.32 369.18,359.3C368.49,357.57 367.58,355.84 366.66,355.84C366.43,355.84 365.97,355.55 365.97,355.27C365.97,354.98 366.2,354.4 366.43,354.4C368.27,354.11 369.18,356.42 370.1,358.43C370.79,360.16 371.71,361.89 372.63,361.89C373.55,361.6 374.01,359.59 374.47,357.86C374.93,355.55 375.39,352.96 377.23,352.67C379.07,352.39 379.99,354.69 380.91,356.71C381.6,358.43 382.52,360.16 383.43,360.16C384.35,359.88 384.81,357.86 385.27,356.13C385.73,353.83 386.19,351.23 388.03,350.95C389.87,350.66 390.79,352.96 391.71,354.98C392.4,356.71 393.32,358.43 394.24,358.43C395.16,358.15 395.62,356.13 396.08,354.4C396.54,352.1 397,349.51 398.83,349.22C399.06,349.22 399.52,349.51 399.52,349.8C399.52,350.08 399.29,350.66 399.06,350.66C398.14,350.95 397.68,352.96 397.23,354.69C396.77,356.99 396.31,359.59 394.47,359.88C392.63,360.16 391.71,357.86 390.79,355.84C390.1,354.11 389.18,352.39 388.26,352.39C387.34,352.67 386.88,354.69 386.42,356.42C385.96,358.72 385.5,361.32 383.66,361.6C381.83,361.89 380.91,359.59 379.99,357.57C379.3,355.84 378.38,354.11 377.46,354.11C376.54,354.4 376.08,356.42 375.62,358.15C375.16,360.45 374.7,363.04 372.86,363.33H372.63Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M169.9,159.73C169.21,159.73 168.76,159.44 168.07,158.87C166.23,157.14 167.15,153.68 167.84,150.51C168.52,147.63 169.21,144.76 168.07,143.6C166.92,142.45 164.85,143.89 162.78,145.33C160.48,147.06 157.95,148.79 156.11,147.06C154.27,145.33 155.19,141.88 155.88,138.71C156.57,135.83 157.26,132.95 156.11,131.8C154.96,130.65 152.9,132.09 150.83,133.52C148.53,135.25 146,136.98 144.16,135.25C142.32,133.52 143.24,130.07 143.93,126.9C144.62,124.02 145.31,121.14 144.16,119.99C143.93,119.7 143.93,119.41 144.16,118.84C144.39,118.55 144.62,118.55 145.08,118.84C146.92,120.57 146,124.02 145.31,127.19C144.62,130.07 143.93,132.95 145.08,134.1C146.23,135.25 148.3,133.81 150.37,132.37C152.67,130.65 155.19,128.92 157.03,130.65C158.87,132.37 157.95,135.83 157.26,139C156.57,141.88 155.88,144.76 157.03,145.91C158.18,147.06 160.25,145.62 162.32,144.18C164.62,142.45 167.15,140.72 168.99,142.45C170.82,144.18 169.9,147.63 169.21,150.8C168.52,153.68 167.84,156.56 168.99,157.71C170.13,158.87 172.2,157.43 174.27,155.99C176.57,154.26 179.1,152.53 180.94,154.26C181.17,154.55 181.17,154.84 180.94,155.41C180.71,155.7 180.48,155.7 180.02,155.41C178.87,154.26 176.8,155.7 174.73,157.14C172.89,158.58 171.28,159.73 169.9,159.73Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M371.02,329.06H370.79C370.56,328.77 370.33,328.49 370.56,328.2C371.71,325.61 369.64,322.44 367.57,318.98C365.28,315.24 362.98,311.49 364.36,308.33C365.96,305.16 369.64,305.73 373.32,306.31C376.54,306.89 379.99,307.46 381.14,305.16C382.29,302.57 380.22,299.4 378.15,295.94C375.85,292.2 373.55,288.46 374.93,285.29C376.54,282.12 380.22,282.7 383.89,283.27C387.11,283.85 390.56,284.42 391.71,282.12C392.86,279.53 390.79,276.36 388.72,272.91C386.42,269.16 384.12,265.42 385.5,262.25C387.11,259.08 390.79,259.66 394.47,260.23C397.68,260.81 401.13,261.39 402.28,259.08C402.51,258.8 402.74,258.51 402.97,258.8C403.2,259.08 403.43,259.37 403.2,259.66C401.59,262.83 397.91,262.25 394.24,261.67C391.02,261.1 387.57,260.52 386.42,262.83C385.27,265.42 387.34,268.59 389.41,272.04C391.71,275.79 394.01,279.53 392.63,282.7C391.02,285.86 387.34,285.29 383.66,284.71C380.45,284.14 377,283.56 375.85,285.86C374.7,288.46 376.77,291.62 378.84,295.08C381.14,298.82 383.43,302.57 382.05,305.73C380.45,308.9 376.77,308.33 373.09,307.75C369.87,307.17 366.42,306.6 365.28,308.9C364.13,311.49 366.2,314.66 368.26,318.12C370.56,321.86 372.86,325.61 371.48,328.77C371.48,329.06 371.25,329.06 371.02,329.06Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M282.99,392.42C282.76,392.42 282.76,392.42 282.53,392.42C281.61,392.13 281.38,390.4 281.38,389.25C281.38,388.67 281.38,387.52 280.92,387.52C280.69,387.52 280.23,388.1 279.77,388.67C279.08,389.54 278.39,390.69 277.47,390.4C276.55,390.11 276.32,388.39 276.32,387.23C276.32,386.66 276.32,385.51 275.86,385.51C275.63,385.51 275.17,386.08 274.71,386.66C274.02,387.52 273.33,388.67 272.42,388.39C271.5,388.1 271.27,386.37 271.27,385.22C271.27,384.64 271.27,383.49 270.81,383.49C270.58,383.49 270.35,382.91 270.35,382.63C270.35,382.34 270.81,382.05 271.04,382.05C271.96,382.34 272.19,384.07 272.19,385.22C272.19,385.79 272.19,386.95 272.64,386.95C272.88,386.95 273.33,386.37 273.8,385.79C274.48,384.93 275.17,383.78 276.09,384.07C277.01,384.35 277.24,386.08 277.24,387.23C277.24,387.81 277.24,388.96 277.7,388.96C277.93,388.96 278.39,388.39 278.85,387.81C279.54,386.95 280.23,385.79 281.15,386.08C282.07,386.37 282.3,388.1 282.3,389.25C282.3,389.83 282.3,390.98 282.76,390.98C282.99,390.98 283.45,390.4 283.91,389.83C284.6,388.96 285.29,387.81 286.21,388.1C286.44,388.1 286.67,388.67 286.67,388.96C286.67,389.25 286.21,389.54 285.98,389.54C285.75,389.54 285.29,390.11 284.83,390.69C284.6,391.55 283.91,392.42 282.99,392.42Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M139.79,419.77C139.56,419.77 139.33,419.77 139.33,419.49C137.73,416.03 140.25,412 142.55,408.26C144.62,404.8 146.92,401.06 145.77,398.46C144.62,395.87 140.94,396.45 137.49,397.31C133.59,398.18 129.68,398.75 128.07,395.58C126.46,392.13 128.99,388.1 131.29,384.35C133.36,380.9 135.66,377.15 134.51,374.56C133.36,371.97 129.68,372.55 126.23,373.41C122.32,374.27 118.42,374.85 116.81,371.68C115.2,368.23 117.73,364.2 120.03,360.45C122.1,356.99 124.39,353.25 123.25,350.66C122.1,348.07 118.42,348.64 114.97,349.51C111.06,350.37 107.15,350.95 105.55,347.49C105.32,347.2 105.55,346.63 105.78,346.63C106.01,346.34 106.47,346.63 106.47,346.92C107.61,349.51 111.29,348.93 114.74,348.07C118.65,347.2 122.56,346.63 124.16,350.08C125.77,353.54 123.25,357.57 120.95,361.32C118.88,364.77 116.58,368.51 117.73,371.11C118.88,373.7 122.56,373.12 126,372.26C129.91,371.39 133.82,370.82 135.43,373.99C137.04,377.44 134.51,381.47 132.21,385.22C130.14,388.67 127.84,392.42 128.99,395.01C130.14,397.6 133.82,397.02 137.26,396.16C141.17,395.3 145.08,394.72 146.69,397.89C148.3,401.34 145.77,405.38 143.47,409.12C141.4,412.58 139.1,416.32 140.25,418.91C140.48,419.2 140.25,419.77 140.02,419.77H139.79Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M420.21,795.59C417.68,795.3 416.99,791.55 416.53,788.1C415.84,785.22 415.38,782.05 413.77,781.76C412.16,781.47 411.01,784.35 409.64,786.95C408.26,790.11 406.88,793.28 404.35,792.71C402.05,792.42 401.36,788.67 400.67,785.22C399.98,782.34 399.52,779.17 397.91,778.88C396.3,778.59 395.15,781.47 393.78,784.07C392.4,787.23 391.02,790.4 388.49,789.83C386.19,789.54 385.5,785.79 384.81,782.34C384.12,779.46 383.66,776.29 382.05,776C380.44,775.72 379.3,778.59 377.92,781.19C376.54,784.35 375.16,787.52 372.63,786.95C372.4,786.95 372.17,786.66 372.17,786.08C372.17,785.79 372.63,785.51 372.86,785.51C374.47,785.79 375.62,782.91 377,780.32C378.38,777.16 379.76,773.99 382.28,774.56C384.58,774.85 385.27,778.59 385.96,782.05C386.65,784.93 387.11,788.1 388.72,788.39C390.33,788.67 391.48,785.79 392.86,783.2C394.23,780.03 395.61,776.87 398.14,777.44C400.44,777.73 401.13,781.47 401.82,784.93C402.51,787.81 402.97,790.98 404.58,791.27C406.19,791.55 407.34,788.67 408.72,786.08C410.1,782.91 411.47,779.75 414,780.32C416.3,780.61 416.99,784.35 417.68,787.81C418.37,790.69 418.83,793.86 420.44,794.15C420.67,794.15 420.9,794.43 420.9,795.01C420.9,795.59 420.67,795.59 420.21,795.59Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M55.44,786.95C53.37,786.66 52.91,783.49 52.45,780.9C51.99,778.59 51.53,776.29 50.38,776C49.23,775.72 48.08,777.73 47.16,780.03C46.01,782.63 44.87,784.93 42.8,784.64C40.96,784.35 40.27,781.47 39.81,778.59C39.35,776.29 38.89,773.99 37.74,773.7C36.59,773.41 35.44,775.43 34.52,777.73C33.37,780.32 31.99,782.63 30.16,782.34C28.32,782.05 27.63,779.17 27.17,776.29C26.71,773.99 26.25,771.68 25.1,771.4C23.95,771.11 22.8,773.12 21.88,775.43C20.73,778.02 19.35,780.32 17.51,780.03C17.28,780.03 17.05,779.46 17.05,779.17C17.05,778.88 17.51,778.59 17.74,778.59C18.89,778.88 20.04,776.87 20.96,774.56C22.11,771.97 23.49,769.67 25.33,769.96C27.17,770.24 27.86,773.12 28.32,776C28.78,778.31 29.24,780.61 30.38,780.9C31.53,781.19 32.68,779.17 33.6,776.87C34.75,774.28 36.13,771.97 37.97,772.26C39.81,772.55 40.5,775.43 40.96,778.31C41.42,780.61 41.88,782.91 43.03,783.2C44.18,783.49 45.33,781.47 46.24,779.17C47.39,776.58 48.77,774.28 50.61,774.56C52.45,774.85 53.14,777.73 53.6,780.61C54.06,782.91 54.52,785.22 55.67,785.51C55.9,785.51 56.13,786.08 56.13,786.37C55.9,786.66 55.67,786.95 55.44,786.95Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M172.21,372.55C171.98,372.55 171.98,372.55 171.74,372.26C171.29,371.39 171.74,370.53 171.98,369.67C172.21,369.38 172.43,368.8 172.43,368.52C172.21,368.52 171.74,368.8 171.51,368.8C170.82,369.09 169.91,369.38 169.45,368.52C168.99,367.65 169.45,366.79 169.68,365.92C169.91,365.64 170.14,365.06 170.14,364.77C169.91,364.77 169.45,365.06 169.22,365.06C168.53,365.35 167.61,365.64 167.15,364.77C166.69,363.91 167.15,363.04 167.38,362.18C167.61,361.89 167.84,361.32 167.84,361.03C167.84,361.03 167.15,361.32 166.92,361.32C166.23,361.6 165.31,361.89 164.85,361.03C164.62,360.74 164.62,360.16 164.85,359.88C165.08,359.59 165.54,359.59 165.77,359.88C166,359.88 166.46,359.59 166.69,359.59C167.38,359.3 168.3,359.01 168.76,359.88C169.22,360.74 168.76,361.6 168.53,362.47C168.3,362.76 168.07,363.33 168.07,363.62C168.07,363.62 168.76,363.33 168.99,363.33C169.68,363.04 170.6,362.76 171.05,363.62C171.51,364.48 171.05,365.35 170.82,366.21C170.6,366.5 170.37,367.08 170.37,367.36C170.6,367.36 171.05,367.08 171.29,367.08C171.98,366.79 172.89,366.5 173.35,367.36C173.81,368.23 173.35,369.09 173.12,369.95C172.89,370.24 172.66,370.82 172.66,371.11C172.89,371.39 172.89,371.97 172.66,371.97C172.43,372.55 172.43,372.55 172.21,372.55Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M317.7,684.71C317.24,684.71 317.01,684.14 317.24,683.85C317.47,682.41 318.85,681.84 320.22,681.55C321.14,681.26 322.06,680.97 322.29,680.4C322.29,679.82 321.6,679.24 320.68,678.67C319.53,677.8 318.39,676.94 318.61,675.21C318.85,673.77 320.22,673.2 321.6,672.91C322.52,672.62 323.44,672.33 323.67,671.76C323.67,671.18 322.98,670.6 322.06,670.03C320.91,669.16 319.76,668.3 319.99,666.57C320.22,665.13 321.6,664.56 322.98,664.27C323.9,663.98 324.82,663.69 325.05,663.12C325.05,662.54 324.36,661.96 323.44,661.1C322.29,660.24 321.14,659.37 321.37,657.64C321.37,657.36 321.83,657.07 322.06,657.07C322.29,657.07 322.52,657.64 322.52,657.93C322.52,658.51 323.21,659.08 324.13,659.95C325.28,660.81 326.43,661.68 326.2,663.4C325.97,664.84 324.59,665.42 323.21,665.71C322.29,666 321.37,666.28 321.14,666.86C321.14,667.44 321.83,668.01 322.75,668.59C323.9,669.45 325.05,670.32 324.82,672.04C324.59,673.48 323.21,674.06 321.83,674.35C320.91,674.64 319.99,674.92 319.76,675.5C319.76,676.08 320.45,676.65 321.37,677.23C322.52,678.09 323.67,678.96 323.44,680.68C323.21,682.12 321.83,682.7 320.45,682.99C319.53,683.27 318.61,683.56 318.39,684.14C318.39,684.43 317.92,684.71 317.7,684.71Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M298.85,634.61C298.39,634.61 298.16,634.03 298.39,633.74C298.39,633.46 297.7,633.17 297.47,632.88C296.78,632.3 295.86,631.73 296.09,630.58C296.32,629.42 297.24,629.14 297.93,628.85C298.16,628.85 298.85,628.56 299.08,628.27C299.08,627.98 298.39,627.7 298.16,627.41C297.47,626.83 296.55,626.26 296.78,625.1C297.01,623.95 297.93,623.66 298.62,623.38C298.85,623.38 299.54,623.09 299.77,622.8C299.77,622.51 299.08,622.22 298.85,621.94C298.16,621.36 297.24,620.78 297.47,619.63C297.7,618.48 298.62,618.19 299.31,617.91C299.54,617.91 300.23,617.62 300.46,617.33C300.46,617.04 300.92,616.75 301.15,616.75C301.38,616.75 301.61,617.04 301.61,617.62C301.38,618.77 300.46,619.06 299.77,619.34C299.54,619.34 298.85,619.63 298.62,619.92C298.62,620.21 299.31,620.5 299.54,620.78C300.23,621.36 301.15,621.94 300.92,623.09C300.69,624.24 299.77,624.53 299.08,624.82C298.85,624.82 298.16,625.1 297.93,625.39C297.93,625.68 298.62,625.97 298.85,626.26C299.54,626.83 300.46,627.41 300.23,628.56C300,629.71 299.08,630 298.39,630.29C298.16,630.29 297.47,630.58 297.24,630.86C297.24,631.15 297.93,631.44 298.16,631.73C298.85,632.3 299.77,632.88 299.54,634.03C299.54,634.32 299.08,634.61 298.85,634.61Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M82.11,639.5C80.73,639.5 79.35,638.06 78.2,636.62C76.82,635.18 75.44,633.46 74.52,634.03C74.29,634.32 73.83,634.03 73.83,633.74C73.6,633.46 73.83,632.88 74.06,632.88C75.67,631.73 77.51,633.74 79.12,635.47C80.5,636.91 81.88,638.64 82.79,638.06C83.71,637.49 83.71,635.18 83.48,632.88C83.25,630 83.25,627.41 84.86,626.26C86.47,625.1 88.31,627.12 89.92,628.85C91.3,630.29 92.68,632.02 93.6,631.44C94.52,630.86 94.52,628.56 94.29,626.26C94.06,623.38 94.06,620.78 95.67,619.63C97.28,618.48 99.11,620.5 100.72,622.22C102.1,623.66 103.48,625.39 104.4,624.82C105.32,624.24 105.32,621.94 105.09,619.63C104.86,616.75 104.86,614.16 106.47,613.01C106.7,612.72 107.16,613.01 107.16,613.3C107.39,613.59 107.16,614.16 106.93,614.16C106.01,614.74 106.01,617.04 106.24,619.34C106.47,622.22 106.47,624.82 104.86,625.97C103.25,627.12 101.41,625.1 99.8,623.38C98.42,621.94 97.05,620.21 96.13,620.78C95.21,621.36 95.21,623.66 95.44,625.97C95.67,628.85 95.67,631.44 94.06,632.59C92.45,633.74 90.61,631.73 89,630C87.62,628.56 86.24,626.83 85.32,627.41C84.4,627.98 84.4,630.29 84.63,632.59C84.86,635.47 84.86,638.06 83.25,639.22C82.79,639.5 82.56,639.5 82.11,639.5Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M271.27,788.1C271.04,788.1 270.81,787.81 270.81,787.52C270.81,787.23 271.04,786.66 271.27,786.66C272.65,786.37 273.34,783.78 273.8,781.19C274.49,778.02 275.18,774.85 277.48,774.56C279.54,774.28 280.92,777.16 282.07,780.03C282.99,782.34 284.14,784.93 285.52,784.64C286.9,784.35 287.59,781.76 288.05,779.17C288.74,776 289.43,772.84 291.73,772.55C293.79,772.26 295.17,775.14 296.32,778.02C297.24,780.32 298.39,782.91 299.77,782.63C301.15,782.34 301.84,779.75 302.3,777.16C302.99,773.99 303.68,770.82 305.98,770.53C308.05,770.24 309.42,773.12 310.57,776C311.49,778.31 312.64,780.9 314.02,780.61C314.25,780.61 314.71,780.9 314.71,781.19C314.71,781.47 314.48,782.05 314.25,782.05C312.18,782.34 310.8,779.46 309.65,776.58C308.73,774.28 307.58,771.68 306.21,771.97C304.83,772.26 304.14,774.85 303.68,777.44C302.99,780.61 302.3,783.78 300,784.07C297.93,784.35 296.55,781.47 295.4,778.59C294.48,776.29 293.33,773.7 291.95,773.99C290.58,774.28 289.89,776.87 289.43,779.46C288.74,782.63 288.05,785.79 285.75,786.08C283.68,786.37 282.3,783.49 281.15,780.61C280.23,778.31 279.08,775.72 277.7,776C276.33,776.29 275.64,778.88 275.18,781.47C274.26,784.64 273.57,787.81 271.27,788.1C271.5,788.1 271.27,788.1 271.27,788.1Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M190.59,795.88C190.36,795.88 190.13,795.59 190.13,795.3C190.13,794.72 189.21,794.43 188.52,794.15C187.37,793.86 186.22,793.28 185.99,791.84C185.99,790.4 187.14,789.54 188.06,788.96C188.75,788.67 189.44,788.1 189.44,787.52C189.44,786.95 188.52,786.66 187.83,786.37C186.68,786.08 185.53,785.51 185.3,784.07C185.3,782.63 186.45,781.76 187.37,781.19C188.06,780.9 188.75,780.32 188.75,779.75C188.75,779.17 187.83,778.88 187.14,778.6C185.99,778.31 184.84,777.73 184.62,776.29C184.62,774.85 185.76,773.99 186.68,773.41C187.37,773.12 188.06,772.55 188.06,771.97C188.06,771.68 188.29,771.11 188.52,771.11C188.75,771.11 189.21,771.4 189.21,771.68C189.21,773.12 188.06,773.99 187.14,774.56C186.45,774.85 185.76,775.43 185.76,776C185.76,776.58 186.68,776.87 187.37,777.16C188.52,777.44 189.67,778.02 189.9,779.46C189.9,780.9 188.75,781.76 187.83,782.34C187.14,782.63 186.45,783.2 186.45,783.78C186.45,784.36 187.37,784.64 188.06,784.93C189.21,785.22 190.36,785.79 190.59,787.23C190.59,788.67 189.44,789.54 188.52,790.11C187.83,790.4 187.14,790.98 187.14,791.55C187.14,792.13 188.06,792.42 188.75,792.71C189.9,792.99 191.05,793.57 191.28,795.01C191.05,795.59 190.82,795.88 190.59,795.88Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M369.88,593.71C369.65,593.71 369.65,593.71 369.42,593.43C369.19,593.14 369.19,592.56 369.42,592.27C369.42,591.99 369.19,591.41 369.19,591.12C368.96,590.26 368.5,589.11 369.19,588.24C369.88,587.38 370.8,587.95 371.48,588.24C371.71,588.24 372.4,588.53 372.4,588.53C372.4,588.24 372.17,587.67 372.17,587.38C371.95,586.51 371.48,585.36 372.17,584.5C372.86,583.64 373.78,584.21 374.47,584.5C374.7,584.5 375.39,584.79 375.39,584.79C375.39,584.5 375.16,583.92 375.16,583.64C374.93,582.77 374.47,581.62 375.16,580.76C375.85,579.89 376.77,580.47 377.46,580.76C377.69,581.04 378.38,581.04 378.38,581.04C378.61,580.76 379.07,580.76 379.3,581.04C379.53,581.33 379.53,581.91 379.3,582.2C378.61,583.06 377.69,582.48 377,582.2C376.77,582.2 376.08,581.91 376.08,581.91C376.08,582.2 376.31,582.77 376.31,583.06C376.54,583.92 377,585.07 376.31,585.94C375.62,586.8 374.7,586.23 374.01,585.94C373.78,585.65 373.09,585.65 373.09,585.65C373.09,585.94 373.32,586.51 373.32,586.8C373.55,587.67 374.01,588.82 373.32,589.68C372.64,590.55 371.71,589.97 371.03,589.68C370.8,589.68 370.11,589.39 370.11,589.39C370.11,589.68 370.34,590.26 370.34,590.55C370.57,591.41 371.03,592.56 370.34,593.43C370.34,593.43 370.11,593.71 369.88,593.71Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M206.45,346.34C206.22,346.34 206.22,346.34 205.99,346.05C203.69,343.75 204.84,339.14 205.99,334.82C206.91,331.08 208.06,327.05 206.45,325.32C204.84,323.59 201.85,325.61 199.09,327.62C195.88,329.64 192.66,331.94 190.36,329.64C188.06,327.33 189.21,322.73 190.36,318.41C191.28,314.66 192.43,310.63 190.82,308.9C189.21,307.17 186.22,309.19 183.46,311.21C180.24,313.22 177.03,315.53 174.73,313.22C172.43,310.92 173.58,306.31 174.73,301.99C175.65,298.25 176.8,294.22 174.96,292.49C173.35,290.76 170.36,292.78 167.6,294.5C164.39,296.52 161.17,298.82 158.87,296.52C158.64,296.23 158.64,295.94 158.87,295.37C159.1,295.08 159.33,295.08 159.79,295.37C161.4,297.1 164.39,295.08 167.14,293.35C170.36,291.34 173.58,289.03 175.88,291.34C178.18,293.64 177.03,298.25 175.88,302.57C174.96,306.31 173.81,310.34 175.65,312.07C177.26,313.8 180.24,311.78 183,309.77C186.22,307.75 189.44,305.45 191.74,307.75C194.04,310.05 192.89,314.66 191.74,318.98C190.82,322.73 189.67,326.76 191.28,328.49C192.89,330.21 195.88,328.2 198.63,326.18C201.85,324.17 205.07,321.86 207.37,324.17C209.67,326.47 208.52,331.08 207.37,335.4C206.45,339.14 205.3,343.17 206.91,344.9C207.14,345.19 207.14,345.48 206.91,346.05C206.68,346.34 206.68,346.34 206.45,346.34Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M375.16,748.93C374.24,748.93 373.78,747.78 373.55,746.92C373.55,746.63 373.32,745.77 373.09,745.77C372.86,745.77 372.64,746.63 372.64,746.92C372.4,747.78 371.95,748.93 371.03,748.93C370.11,748.93 369.88,747.78 369.42,746.92C369.42,746.63 369.19,745.77 368.96,745.77C368.73,745.77 368.5,746.63 368.5,746.92C368.27,747.78 367.81,748.93 366.89,748.93C365.97,748.93 365.74,747.78 365.28,746.92C365.28,746.63 365.05,745.77 364.82,745.77C364.59,745.77 364.36,745.48 364.36,744.9C364.36,744.61 364.59,744.33 365.05,744.33C365.97,744.33 366.2,745.48 366.66,746.34C366.66,746.63 366.89,747.49 367.12,747.49C367.35,747.49 367.58,746.63 367.58,746.34C367.81,745.48 368.27,744.33 369.19,744.33C370.11,744.33 370.34,745.48 370.8,746.34C370.8,746.63 371.03,747.49 371.26,747.49C371.48,747.49 371.71,746.63 371.71,746.34C371.95,745.48 372.4,744.33 373.32,744.33C374.24,744.33 374.47,745.48 374.93,746.34C374.93,746.63 375.16,747.49 375.39,747.49C375.62,747.49 375.85,746.63 375.85,746.34C376.08,745.48 376.54,744.33 377.46,744.33C377.69,744.33 377.92,744.61 377.92,745.19C377.92,745.48 377.69,745.77 377.46,745.77C377.23,745.77 377,746.63 377,746.92C376.31,747.78 375.85,748.93 375.16,748.93Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M148.07,327.91C147.84,327.91 147.84,327.91 148.07,327.91C146.92,327.33 146.69,325.89 146.69,324.45C146.69,323.59 146.46,322.44 146.23,322.44C146,322.44 145.31,323.3 144.85,323.88C144.16,325.03 143.47,326.18 142.32,325.61C141.18,325.32 141.18,323.59 141.18,322.15C141.18,321.29 140.95,320.14 140.72,320.14C140.49,320.14 139.8,321 139.34,321.58C138.65,322.73 137.96,323.88 136.81,323.3C135.66,323.02 135.66,321.29 135.66,319.85C135.66,318.98 135.43,317.83 135.2,317.83C134.97,317.83 134.28,318.7 133.82,319.27C133.13,320.42 132.44,321.58 131.29,321C131.06,321 130.83,320.42 130.83,320.14C130.83,319.85 131.29,319.56 131.52,319.56C131.75,319.56 132.44,318.7 132.9,318.12C133.59,316.97 134.28,315.82 135.43,316.39C136.58,316.68 136.58,318.41 136.58,319.85C136.58,320.71 136.81,321.86 137.04,321.86C137.27,321.86 137.96,321 138.42,320.42C139.11,319.27 139.8,318.12 140.95,318.7C142.1,318.98 142.1,320.71 142.1,322.15C142.1,323.02 142.32,324.17 142.55,324.17C142.78,324.17 143.47,323.3 143.93,322.73C144.62,321.58 145.31,320.42 146.46,321C147.61,321.29 147.61,323.02 147.61,324.45C147.61,325.32 147.84,326.47 148.07,326.47C148.3,326.47 148.53,327.05 148.53,327.33C148.53,327.91 148.3,327.91 148.07,327.91Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M260.24,503.58C259.09,503.58 258.17,502.42 257.02,501.56C255.87,500.41 254.95,499.55 254.26,499.83C254.03,500.12 253.57,499.83 253.57,499.55C253.34,499.26 253.57,498.68 253.8,498.68C255.18,497.82 256.56,499.26 257.94,500.41C259.09,501.56 260.01,502.42 260.7,502.14C261.39,501.56 261.16,499.83 260.93,498.39C260.7,496.38 260.47,494.07 261.85,493.21C263.23,492.35 264.6,493.79 265.98,494.94C267.13,496.09 268.05,496.95 268.74,496.67C269.43,496.09 269.2,494.36 268.97,492.92C268.74,490.9 268.51,488.6 269.89,487.74C271.27,486.87 272.65,488.31 274.03,489.47C275.18,490.62 276.1,491.48 276.79,491.19C277.48,490.62 277.24,488.89 277.02,487.45C276.79,485.43 276.56,483.13 277.93,482.27C278.17,481.98 278.63,482.27 278.63,482.55C278.85,482.84 278.63,483.42 278.39,483.42C277.7,483.99 277.93,485.72 278.17,487.16C278.39,489.18 278.63,491.48 277.24,492.35C275.87,493.21 274.49,491.77 273.11,490.62C271.96,489.47 271.04,488.6 270.35,488.89C269.66,489.47 269.89,491.19 270.12,492.63C270.35,494.65 270.58,496.95 269.2,497.82C267.82,498.68 266.44,497.24 265.06,496.09C263.91,494.94 262.99,494.07 262.3,494.36C261.62,494.94 261.85,496.67 262.08,498.11C262.3,500.12 262.54,502.42 261.16,503.29C260.93,503.58 260.47,503.58 260.24,503.58Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M260.69,697.39C260.46,697.39 260.69,697.39 260.69,697.39C259.08,696.81 259.08,694.79 259.08,692.78C259.08,691.34 259.08,689.9 258.4,689.61C257.94,689.32 257.02,690.47 256.33,691.34C255.41,692.78 254.26,694.22 252.88,693.64C251.5,693.07 251.5,691.05 251.5,689.03C251.5,687.59 251.5,686.16 250.81,685.87C250.12,685.58 249.43,686.73 248.74,687.59C247.82,689.03 246.67,690.47 245.29,689.9C243.91,689.32 243.91,687.31 243.91,685.29C243.91,683.85 243.91,682.41 243.23,682.12C242.77,681.84 241.85,682.99 241.16,683.85C240.24,685.29 239.09,686.73 237.71,686.16C237.48,686.16 237.25,685.58 237.48,685.29C237.48,685 237.94,684.72 238.17,685C238.63,685.29 239.55,684.14 240.24,683.28C241.16,681.84 242.31,680.4 243.68,680.97C245.07,681.55 245.07,683.56 245.07,685.58C245.07,687.02 245.07,688.46 245.75,688.75C246.21,689.03 247.13,687.88 247.82,687.02C248.74,685.58 249.89,684.14 251.27,684.72C252.65,685.29 252.65,687.31 252.65,689.32C252.65,690.76 252.65,692.2 253.34,692.49C253.8,692.78 254.72,691.63 255.41,690.76C256.33,689.32 257.48,687.88 258.86,688.46C260.23,689.03 260.23,691.05 260.23,693.07C260.23,694.51 260.23,695.95 260.92,696.23C261.15,696.23 261.38,696.81 261.15,697.1C261.15,697.1 260.92,697.39 260.69,697.39Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M40.73,557.43C39.35,557.43 38.43,555.7 37.51,553.68C36.82,552.24 35.9,550.52 34.98,550.8C34.75,550.8 34.29,550.52 34.29,550.23C34.29,549.94 34.52,549.37 34.75,549.37C36.36,549.08 37.28,551.09 38.43,553.11C39.12,554.55 40.04,556.28 40.96,555.99C41.88,555.7 42.11,553.97 42.34,552.24C42.8,549.94 43.03,547.64 44.64,547.35C46.25,547.06 47.17,549.08 48.31,551.09C49,552.53 49.92,554.26 50.84,553.97C51.76,553.68 51.99,551.96 52.22,550.23C52.68,547.93 52.91,545.62 54.52,545.33C56.13,545.05 57.05,547.06 58.2,549.08C58.89,550.52 59.81,552.24 60.73,551.96C61.65,551.67 61.88,549.94 62.11,548.21C62.56,545.91 62.79,543.61 64.4,543.32C64.63,543.32 65.09,543.61 65.09,543.89C65.09,544.18 64.86,544.76 64.63,544.76C63.71,545.05 63.48,546.77 63.25,548.5C62.79,550.8 62.56,553.11 60.96,553.4C59.35,553.68 58.43,551.67 57.28,549.65C56.59,548.21 55.67,546.49 54.75,546.77C53.83,547.06 53.6,548.79 53.37,550.52C52.91,552.82 52.68,555.13 51.07,555.41C49.46,555.7 48.54,553.68 47.39,551.67C46.71,550.23 45.79,548.5 44.87,548.79C43.95,549.08 43.72,550.8 43.49,552.53C43.03,554.84 42.8,557.14 41.19,557.43C40.96,557.43 40.96,557.43 40.73,557.43Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M332.87,416.03C332.64,416.03 332.41,415.74 332.41,415.45C331.95,413.73 329.65,413.44 327.58,413.15C325.05,412.86 322.3,412.58 321.61,409.7C320.92,407.1 323.22,405.09 325.29,403.07C327.12,401.34 328.96,399.62 328.5,397.89C328.04,396.16 325.74,395.87 323.68,395.58C321.15,395.3 318.39,395.01 317.7,392.13C317.01,389.25 319.31,387.52 321.38,385.51C323.22,383.78 325.05,382.05 324.6,380.32C324.14,378.59 321.84,378.31 319.77,378.02C317.24,377.73 314.48,377.44 313.79,374.56C313.1,371.97 315.4,369.95 317.47,367.94C319.31,366.21 321.15,364.48 320.69,362.76C320.69,362.47 320.69,361.89 321.15,361.89C321.38,361.89 321.84,361.89 321.84,362.47C322.53,365.06 320.23,367.08 318.16,369.09C316.32,370.82 314.48,372.55 314.94,374.27C315.4,376 317.7,376.29 319.77,376.58C322.3,376.87 325.05,377.15 325.74,380.03C326.43,382.63 324.14,384.64 322.07,386.66C320.23,388.39 318.39,390.11 318.85,391.84C319.31,393.57 321.61,393.86 323.68,394.14C326.2,394.43 328.96,394.72 329.65,397.6C330.34,400.19 328.04,402.21 325.97,404.22C324.14,405.95 322.3,407.68 322.76,409.41C323.22,411.14 325.52,411.42 327.58,411.71C330.11,412 332.87,412.29 333.56,415.17C333.33,415.45 333.33,416.03 332.87,416.03Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M245.53,553.11C245.3,553.11 245.3,553.11 245.07,552.82C243.69,550.8 244.84,547.92 245.76,545.04C246.68,542.74 247.6,540.15 246.68,539C245.76,537.85 243.69,538.71 241.62,539.57C239.32,540.73 236.79,541.88 235.41,539.86C234.04,537.85 235.18,534.97 236.1,532.09C237.02,529.78 237.94,527.19 237.02,526.04C236.1,524.89 234.04,525.75 231.97,526.61C229.67,527.77 227.14,528.92 225.76,526.9C224.38,524.89 225.53,522.01 226.45,519.13C227.37,516.82 228.29,514.23 227.37,513.08C226.45,511.93 224.38,512.79 222.31,513.66C220.01,514.81 217.49,515.96 216.11,513.94C215.88,513.66 215.88,513.08 216.11,512.79C216.34,512.5 216.8,512.5 217.03,512.79C217.95,513.94 220.01,513.08 222.08,512.22C224.38,511.06 226.91,509.91 228.29,511.93C229.67,513.94 228.52,516.82 227.6,519.7C226.68,522.01 225.76,524.6 226.68,525.75C227.6,526.9 229.67,526.04 231.74,525.17C234.04,524.02 236.56,522.87 237.94,524.89C239.32,526.9 238.17,529.78 237.25,532.66C236.33,534.97 235.41,537.56 236.33,538.71C237.25,539.86 239.32,539 241.39,538.13C243.69,536.98 246.22,535.83 247.6,537.85C248.98,539.86 247.83,542.74 246.91,545.62C245.99,547.92 245.07,550.52 245.99,551.67C246.22,551.96 246.22,552.53 245.99,552.82C245.76,553.11 245.76,553.11 245.53,553.11Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M114.28,702.86C114.05,702.86 114.05,702.86 113.82,702.57C112.44,701.13 113.13,698.83 113.82,696.52C114.28,694.79 114.74,692.78 114.05,691.91C113.36,691.05 111.98,692.2 110.6,693.07C108.99,694.22 107.15,695.37 105.78,693.93C104.4,692.49 105.09,690.19 105.78,687.88C106.24,686.16 106.69,684.14 106,683.28C105.32,682.41 103.94,683.56 102.56,684.43C100.95,685.58 99.11,686.73 97.73,685.29C96.35,683.85 97.04,681.55 97.73,679.24C98.19,677.23 98.65,675.5 97.96,674.64C97.27,673.77 95.89,674.92 94.51,675.79C92.9,676.94 91.07,678.09 89.69,676.65C89.46,676.36 89.46,676.08 89.69,675.5C89.92,675.21 90.15,675.21 90.61,675.5C91.29,676.36 92.67,675.21 94.05,674.35C95.66,673.2 97.5,672.04 98.88,673.48C100.26,674.92 99.57,677.23 98.88,679.53C98.42,681.26 97.96,683.28 98.65,684.14C99.34,685 100.72,683.85 102.1,682.99C103.71,681.84 105.55,680.68 106.93,682.12C108.3,683.56 107.61,685.87 106.93,688.17C106.46,690.19 106,691.91 106.69,692.78C107.38,693.64 108.76,692.49 110.14,691.63C111.75,690.47 113.59,689.32 114.97,690.76C116.35,692.2 115.66,694.51 114.97,696.81C114.51,698.54 114.05,700.55 114.74,701.42C114.97,701.71 114.97,701.99 114.74,702.57C114.51,702.86 114.51,702.86 114.28,702.86Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M282.3,246.41C281.84,246.41 281.38,246.41 281.15,246.12C279.31,244.68 279.77,241.8 280.23,238.93C280.46,236.33 280.92,234.03 279.77,233.16C278.62,232.3 277.01,234.03 275.4,235.47C273.57,237.2 271.5,239.21 269.89,237.77C268.05,236.62 268.51,233.45 268.97,230.57C269.2,227.98 269.66,225.68 268.51,224.81C267.36,223.95 265.75,225.68 264.14,227.12C262.3,228.85 260.23,230.86 258.63,229.42C256.79,228.27 257.25,225.1 257.71,222.22C257.94,219.63 258.39,217.33 257.25,216.46C257.02,216.17 256.79,215.89 257.02,215.6C257.25,215.31 257.48,215.02 257.71,215.31C259.54,216.46 259.08,219.63 258.63,222.51C258.39,225.1 257.94,227.41 259.08,228.27C260.23,229.13 261.84,227.41 263.45,225.97C265.29,224.24 267.36,222.22 268.97,223.66C270.81,224.81 270.35,227.98 269.89,230.86C269.66,233.45 269.2,235.76 270.35,236.62C271.5,237.49 273.11,235.76 274.71,234.32C276.55,232.59 278.62,230.57 280.23,232.01C282.07,233.45 281.61,236.33 281.15,239.21C280.92,241.8 280.46,244.11 281.61,244.97C282.76,245.84 284.37,244.11 285.98,242.67C287.82,240.94 289.89,238.93 291.49,240.37C291.72,240.65 291.95,240.94 291.72,241.23C291.49,241.52 291.26,241.8 291.03,241.52C289.89,240.65 288.28,242.38 286.67,243.82C285.06,244.97 283.68,246.41 282.3,246.41Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M208.52,231.73C208.29,231.73 208.06,231.73 208.06,231.44C206.91,229.13 208.52,226.54 209.9,223.66C211.27,221.36 212.42,219.05 211.73,217.62C211.04,216.18 208.75,216.75 206.68,217.33C204.15,217.9 201.62,218.48 200.24,216.18C199.09,213.87 200.7,211.28 202.08,208.4C203.46,206.1 204.61,203.79 203.92,202.35C203.23,200.91 200.93,201.49 198.86,202.06C196.33,202.64 193.81,203.22 192.43,200.91C191.28,198.61 192.89,196.02 194.26,193.14C195.65,190.83 196.79,188.53 196.1,187.09C195.41,185.65 193.12,186.23 191.05,186.8C188.52,187.38 185.99,187.95 184.61,185.65C184.38,185.36 184.61,184.79 184.84,184.79C185.07,184.5 185.53,184.79 185.53,185.07C186.22,186.51 188.52,185.94 190.59,185.36C193.12,184.79 195.65,184.21 197.02,186.51C198.17,188.82 196.56,191.41 195.18,194.29C193.81,196.59 192.66,198.9 193.35,200.34C194.04,201.78 196.33,201.2 198.4,200.62C200.93,200.05 203.46,199.47 204.84,201.78C205.99,204.08 204.38,206.67 203,209.55C201.62,211.86 200.47,214.16 201.16,215.6C201.85,217.04 204.15,216.46 206.22,215.89C208.75,215.31 211.27,214.74 212.65,217.04C213.8,219.34 212.19,221.93 210.82,224.82C209.44,227.12 208.29,229.42 208.98,230.86C209.21,231.15 208.98,231.73 208.75,231.73C208.75,231.44 208.75,231.73 208.52,231.73Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M107.39,289.32C107.16,289.32 106.93,289.03 106.93,288.74C106.01,286.15 102.56,286.15 99.34,286.44C95.67,286.44 91.99,286.73 90.61,283.27C89.46,279.82 92.22,276.36 94.75,273.19C97.04,270.32 99.57,267.43 98.65,264.84C97.73,262.25 94.29,262.25 91.07,262.54C87.39,262.54 83.71,262.83 82.33,259.37C81.18,255.92 83.94,252.46 86.47,249.29C88.77,246.41 91.3,243.53 90.38,240.94C89.46,238.35 86.01,238.35 82.79,238.64C79.12,238.64 75.44,238.93 74.06,235.47C72.91,232.01 75.67,228.56 78.2,225.39C80.5,222.51 83.02,219.63 82.1,217.04C81.87,216.75 82.1,216.18 82.33,216.18C82.56,215.89 83.02,216.18 83.02,216.46C84.17,219.92 81.41,223.37 78.89,226.54C76.59,229.42 74.06,232.3 74.98,234.89C75.9,237.49 79.35,237.49 82.56,237.2C86.24,237.2 89.92,236.91 91.3,240.37C92.45,243.82 89.69,247.28 87.16,250.44C84.86,253.32 82.33,256.2 83.25,258.8C84.17,261.39 87.62,261.39 90.84,261.1C94.52,261.1 98.19,260.81 99.57,264.27C100.72,267.72 97.96,271.18 95.44,274.35C93.14,277.23 90.61,280.11 91.53,282.7C92.45,285.29 95.9,285.29 99.11,285C102.79,285 106.47,284.71 107.85,288.17C108.08,288.74 107.85,289.32 107.39,289.32C107.62,289.32 107.39,289.32 107.39,289.32Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M175.65,542.74C175.19,542.74 174.96,542.45 175.19,541.88C175.65,537.84 179.56,536.41 183.47,535.25C186.91,534.1 190.59,532.95 190.82,529.78C191.05,526.61 187.83,524.6 184.62,522.29C181.17,519.99 177.49,517.4 177.95,513.37C178.41,509.34 182.32,507.9 186.22,506.74C189.67,505.59 193.35,504.44 193.58,501.27C193.81,498.1 190.59,496.09 187.37,493.79C183.93,491.48 180.25,488.89 180.71,484.86C181.17,480.83 185.07,479.39 188.98,478.23C192.43,477.08 196.11,475.93 196.34,472.76C196.57,469.6 193.35,467.58 190.13,465.27C186.68,462.97 183.01,460.38 183.47,456.35C183.47,456.06 183.93,455.77 184.15,455.77C184.38,455.77 184.62,456.06 184.62,456.64C184.38,459.8 187.6,461.82 190.82,464.12C194.27,466.43 197.95,469.02 197.49,473.05C197.03,477.08 193.12,478.52 189.21,479.67C185.76,480.83 182.09,481.98 181.86,485.14C181.63,488.31 184.85,490.33 188.06,492.63C191.51,494.94 195.19,497.53 194.73,501.56C194.27,505.59 190.36,507.03 186.45,508.18C183.01,509.33 179.33,510.49 179.1,513.66C178.87,516.82 182.09,518.84 185.3,521.14C188.75,523.45 192.43,526.04 191.97,530.07C191.51,534.1 187.6,535.54 183.7,536.69C180.25,537.84 176.57,539 176.34,542.16C176.11,542.45 175.88,542.74 175.65,542.74Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M77.97,54.33C77.74,54.33 77.51,54.04 77.51,53.76C77.28,51.74 74.75,51.16 72.45,50.88C69.69,50.3 66.93,49.72 66.48,46.84C66.02,43.96 68.31,41.95 70.84,40.22C72.91,38.49 74.98,36.76 74.52,35.04C74.29,33.02 71.76,32.44 69.46,32.16C66.71,31.58 63.95,31 63.49,28.13C63.03,25.25 65.33,23.23 67.85,21.5C69.92,19.77 71.99,18.33 71.53,16.32C71.3,14.3 68.77,13.73 66.48,13.44C63.72,12.86 60.96,12.29 60.5,9.41C60.04,6.53 62.34,4.51 64.87,2.78C66.93,1.06 69,-0.38 68.54,-2.4C68.54,-2.69 68.77,-3.26 69,-3.26C69.23,-3.26 69.69,-2.98 69.69,-2.69C70.15,0.19 67.85,2.21 65.33,3.93C63.26,5.66 61.19,7.1 61.65,9.12C61.88,11.13 64.41,11.71 66.71,12C69.46,12.57 72.22,13.15 72.68,16.03C73.14,18.91 70.84,20.93 68.31,22.65C66.25,24.38 64.18,25.82 64.64,27.84C64.87,29.85 67.39,30.43 69.69,30.72C72.45,31.29 75.21,31.87 75.67,34.75C76.13,37.63 73.83,39.64 71.3,41.37C69.23,43.1 67.16,44.83 67.62,46.56C67.85,48.57 70.38,49.15 72.68,49.44C75.44,50.01 78.2,50.59 78.66,53.47C78.66,54.04 78.43,54.33 77.97,54.33Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M237.02,302.57C236.79,302.57 236.56,302.28 236.56,301.99C236.33,300.55 234.26,299.98 232.42,299.4C230.12,298.82 227.82,298.25 227.37,295.66C226.9,293.07 228.97,291.63 231.04,289.9C232.65,288.46 234.49,287.3 234.26,285.86C234.03,284.43 231.96,283.85 230.12,283.27C227.82,282.7 225.53,282.12 225.07,279.53C224.61,276.94 226.68,275.5 228.74,273.77C230.35,272.62 232.19,271.18 231.96,269.74C231.73,268.3 229.66,267.72 227.82,267.15C225.53,266.57 223.23,265.99 222.77,263.4C222.31,260.81 224.38,259.37 226.45,257.93C228.05,256.78 229.89,255.34 229.66,253.9C229.66,253.61 229.89,253.04 230.12,253.04C230.35,253.04 230.81,253.32 230.81,253.61C231.27,256.2 229.2,257.64 227.13,259.08C225.53,260.23 223.69,261.67 223.92,263.11C224.15,264.55 226.21,265.13 228.05,265.71C230.35,266.28 232.65,266.86 233.11,269.45C233.57,272.04 231.5,273.48 229.43,275.21C227.82,276.36 225.99,277.8 226.21,279.24C226.45,280.68 228.51,281.26 230.35,281.83C232.65,282.41 234.95,282.99 235.41,285.58C235.87,288.17 233.8,289.61 231.73,291.34C230.12,292.78 228.28,293.93 228.51,295.37C228.74,296.81 230.81,297.39 232.65,297.96C234.95,298.54 237.25,299.11 237.71,301.7C237.71,302.28 237.48,302.57 237.02,302.57C237.25,302.57 237.25,302.57 237.02,302.57Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M0.04,546.77H-0.19C-0.41,546.49 -0.41,546.2 -0.41,545.91C0.5,544.18 2.34,544.76 3.95,545.05C5.33,545.33 6.71,545.62 7.17,545.05C7.63,544.18 6.71,542.74 6.02,541.3C5.1,539.57 3.95,537.56 4.87,535.83C5.79,534.1 7.63,534.68 9.24,534.97C10.62,535.26 12,535.54 12.46,534.97C12.92,534.1 12,532.66 11.31,531.22C10.39,529.49 9.24,527.48 10.16,525.75C11.08,524.02 12.92,524.6 14.53,524.89C15.9,525.17 17.28,525.46 17.74,524.89C18.2,524.02 17.28,522.58 16.59,521.14C15.67,519.42 14.53,517.4 15.44,515.67C15.67,515.38 15.9,515.38 16.13,515.38C16.36,515.67 16.36,515.96 16.36,516.25C15.9,517.11 16.82,518.55 17.51,519.99C18.43,521.72 19.58,523.74 18.66,525.46C17.74,527.19 15.9,526.61 14.3,526.33C12.92,526.04 11.54,525.75 11.08,526.33C10.62,527.19 11.54,528.63 12.23,530.07C13.15,531.8 14.3,533.82 13.38,535.54C12.46,537.27 10.62,536.7 9.01,536.41C7.63,536.12 6.25,535.83 5.79,536.41C5.33,537.27 6.25,538.71 6.94,540.15C7.86,541.88 9.01,543.89 8.09,545.62C7.17,547.35 5.33,546.77 3.72,546.49C2.34,546.2 0.96,545.91 0.5,546.49C0.5,546.77 0.27,546.77 0.04,546.77Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M206.45,709.48C205.99,709.19 205.76,708.91 205.99,708.62C206.45,706.6 204.38,704.3 202.31,702.28C200.01,699.98 197.49,697.39 198.18,694.51C198.86,691.34 202.08,691.05 205.07,690.76C207.6,690.47 210.36,690.19 211.05,688.17C211.51,686.16 209.44,683.85 207.37,681.84C205.07,679.53 202.54,676.94 203.23,674.06C203.92,670.89 207.14,670.6 210.13,670.32C212.65,670.03 215.41,669.74 216.1,667.72C216.56,665.71 214.49,663.4 212.43,661.39C210.13,659.09 207.6,656.49 208.29,653.61C208.98,650.45 212.2,650.16 215.18,649.87C217.71,649.58 220.47,649.29 221.16,647.28C221.16,646.99 221.62,646.7 221.85,646.7C222.08,646.7 222.31,647.28 222.31,647.57C221.62,650.73 218.4,651.02 215.41,651.31C212.88,651.6 210.13,651.89 209.44,653.9C208.98,655.92 211.05,658.22 213.12,660.24C215.41,662.54 217.94,665.13 217.25,668.01C216.56,671.18 213.35,671.47 210.36,671.76C207.83,672.04 205.07,672.33 204.38,674.35C203.92,676.36 205.99,678.67 208.06,680.68C210.36,682.99 212.88,685.58 212.2,688.46C211.51,691.63 208.29,691.91 205.3,692.2C202.77,692.49 200.01,692.78 199.32,694.79C198.86,696.81 200.93,699.11 203,701.13C205.3,703.43 207.83,706.03 207.14,708.91C206.91,709.19 206.68,709.48 206.45,709.48Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M403.2,219.05C402.97,219.05 402.97,219.05 402.74,218.77C400.91,216.75 402.05,213.58 402.97,210.13C403.89,207.25 404.58,204.37 403.43,203.21C402.29,202.06 399.99,203.21 397.92,204.65C395.39,206.1 392.86,207.82 391.25,205.81C389.41,203.79 390.56,200.62 391.48,197.17C392.4,194.29 393.09,191.41 391.94,190.26C390.79,188.82 388.49,190.26 386.42,191.7C383.9,193.14 381.37,194.86 379.76,192.85C377.92,190.83 379.07,187.66 379.99,184.21C380.91,181.33 381.6,178.45 380.45,177.3C379.3,175.86 377,177.3 374.93,178.74C372.4,180.18 369.88,181.9 368.27,179.89C368.04,179.6 368.04,179.31 368.27,178.74C368.5,178.45 368.73,178.45 369.19,178.74C370.34,180.18 372.63,178.74 374.7,177.3C377.23,175.86 379.76,174.13 381.37,176.15C383.21,178.16 382.06,181.33 381.14,184.79C380.22,187.66 379.53,190.54 380.68,191.7C381.83,193.14 384.13,191.7 386.2,190.26C388.72,188.82 391.25,187.09 392.86,189.1C394.7,191.12 393.55,194.29 392.63,197.74C391.71,200.62 391.02,203.5 392.17,204.65C393.32,206.1 395.62,204.65 397.69,203.21C400.22,201.77 402.74,200.05 404.35,202.06C406.19,204.08 405.04,207.25 404.12,210.7C403.2,213.58 402.52,216.46 403.66,217.61C403.89,217.9 403.89,218.19 403.66,218.77C403.66,219.05 403.43,219.05 403.2,219.05Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M7.17,380.9C6.94,380.9 6.94,380.9 7.17,380.9C5.33,380.61 4.87,377.73 4.41,375.43C4.18,373.41 3.72,371.11 2.8,371.11C1.89,370.82 0.97,372.83 0.05,374.56C-1.1,376.87 -2.25,378.88 -3.86,378.59C-5.7,378.31 -5.93,375.43 -6.39,373.12C-6.62,371.11 -7.08,368.8 -8,368.8C-8.92,368.52 -9.84,370.53 -10.76,372.26C-11.91,374.56 -13.06,376.58 -14.66,376.29C-16.5,376 -16.73,373.12 -17.19,370.82C-17.42,368.8 -17.88,366.5 -18.8,366.5C-19.72,366.21 -20.64,368.23 -21.56,369.95C-22.71,372.26 -23.86,374.27 -25.47,373.99C-25.7,373.99 -25.93,373.41 -25.93,373.12C-25.93,372.83 -25.47,372.55 -25.24,372.55C-24.32,372.83 -23.4,370.82 -22.48,369.09C-21.33,366.79 -20.18,364.77 -18.57,365.06C-16.73,365.35 -16.5,368.23 -16.04,370.53C-15.81,372.55 -15.35,374.85 -14.43,374.85C-13.51,375.14 -12.6,373.12 -11.68,371.39C-10.53,369.09 -9.38,367.08 -7.77,367.36C-5.93,367.65 -5.7,370.53 -5.24,372.83C-5.01,374.85 -4.55,377.15 -3.63,377.15C-2.71,377.44 -1.79,375.43 -0.87,373.7C0.28,371.39 1.43,369.38 3.03,369.67C4.87,369.95 5.1,372.83 5.56,375.14C5.79,377.15 6.25,379.46 7.17,379.46C7.4,379.46 7.63,380.03 7.63,380.32C7.63,380.61 7.4,380.9 7.17,380.9Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M40.04,727.62C39.81,727.62 39.58,727.34 39.58,727.05C39.35,726.47 38.43,726.47 37.51,726.18C36.36,726.18 34.98,725.9 34.53,724.46C34.07,723.02 35.21,721.86 36.13,721C36.82,720.42 37.51,719.56 37.51,718.98C37.28,718.41 36.36,718.41 35.44,718.12C34.3,718.12 32.92,717.83 32.46,716.39C32,714.95 33.15,713.8 34.07,712.94C34.75,712.36 35.44,711.5 35.44,710.92C35.21,710.34 34.3,710.34 33.38,710.06C32.23,710.06 30.85,709.77 30.39,708.33C29.93,706.89 31.08,705.74 32,704.87C32.69,704.3 33.38,703.43 33.38,702.86C33.38,702.57 33.38,701.99 33.84,701.99C34.07,701.99 34.53,701.99 34.53,702.57C34.98,704.01 33.84,705.16 32.92,706.03C32.23,706.6 31.54,707.47 31.54,708.04C31.77,708.62 32.69,708.62 33.61,708.91C34.75,708.91 36.13,709.19 36.59,710.63C37.05,712.07 35.9,713.22 34.98,714.09C34.3,714.66 33.61,715.53 33.61,716.1C33.84,716.68 34.75,716.68 35.67,716.97C36.82,716.97 38.2,717.26 38.66,718.7C39.12,720.14 37.97,721.29 37.05,722.15C36.36,722.73 35.67,723.59 35.67,724.17C35.9,724.74 36.82,724.74 37.74,725.03C38.89,725.03 40.27,725.32 40.73,726.76C40.73,727.05 40.5,727.34 40.04,727.62Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M20.27,478.23H20.04C19.81,477.95 19.81,477.66 19.81,477.37C20.96,475.07 19.12,471.9 17.29,468.73C15.22,464.99 13.15,461.24 14.76,458.36C16.37,455.48 19.81,456.35 23.26,457.21C26.25,458.08 29.47,458.94 30.62,456.64C31.77,454.33 29.93,451.17 28.09,448C26.02,444.25 23.95,440.8 25.56,437.63C27.17,434.75 30.62,435.61 34.06,436.48C37.05,437.34 40.27,438.21 41.42,435.9C42.57,433.6 40.73,430.43 38.89,427.26C36.82,423.52 34.75,420.06 36.36,416.9C37.97,414.02 41.42,414.88 44.87,415.74C47.86,416.61 51.07,417.47 52.22,415.17C52.45,414.88 52.68,414.88 52.91,414.88C53.14,415.17 53.14,415.46 53.14,415.74C51.53,418.62 48.09,417.76 44.64,416.9C41.65,416.03 38.43,415.17 37.28,417.47C36.13,419.77 37.97,422.94 39.81,426.11C41.88,429.86 43.95,433.31 42.34,436.48C40.73,439.36 37.28,438.49 33.83,437.63C30.85,436.77 27.63,435.9 26.48,438.21C25.33,440.51 27.17,443.68 29.01,446.85C31.08,450.59 33.15,454.05 31.54,457.21C29.93,460.09 26.48,459.23 23.03,458.36C20.04,457.5 16.83,456.64 15.68,458.94C14.53,461.24 16.37,464.41 18.21,467.58C20.27,471.32 22.34,475.07 20.73,477.95C20.5,477.95 20.5,478.23 20.27,478.23Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M369.64,447.13C369.41,447.13 369.18,447.13 369.18,446.85C368.04,444.25 370.1,441.66 371.71,439.07C373.32,436.77 374.93,434.46 374.24,432.73C373.55,431.01 371.02,431.29 368.73,431.58C365.97,431.87 363.21,432.16 362.06,429.57C360.91,426.98 362.98,424.38 364.59,421.79C366.2,419.49 367.8,417.18 367.12,415.45C366.43,413.73 363.9,414.02 361.6,414.3C358.84,414.59 356.08,414.88 354.93,412.29C353.79,409.7 355.85,407.1 357.46,404.51C359.07,402.21 360.68,399.9 359.99,398.18C359.3,396.45 356.77,396.74 354.47,397.02C351.72,397.31 348.96,397.6 347.81,395.01C347.58,394.72 347.81,394.14 348.04,394.14C348.27,393.86 348.73,394.14 348.73,394.43C349.42,396.16 351.95,395.87 354.24,395.58C357,395.3 359.76,395.01 360.91,397.6C362.06,400.19 359.99,402.78 358.38,405.38C356.77,407.68 355.16,409.98 355.85,411.71C356.54,413.44 359.07,413.15 361.37,412.86C364.13,412.58 366.89,412.29 368.04,414.88C369.18,417.47 367.12,420.06 365.51,422.65C363.9,424.96 362.29,427.26 362.98,428.99C363.67,430.72 366.2,430.43 368.49,430.14C371.25,429.85 374.01,429.57 375.16,432.16C376.31,434.75 374.24,437.34 372.63,439.93C371.02,442.24 369.41,444.54 370.1,446.27C370.33,446.56 370.1,447.13 369.87,447.13C369.87,447.13 369.87,447.13 369.64,447.13Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M345.74,635.18C345.51,635.18 345.51,635.18 345.28,634.9C343.67,632.3 345.28,628.85 346.66,625.39C348.04,622.51 349.42,619.34 348.27,617.62C347.12,615.89 344.36,617.04 341.83,617.9C338.84,619.06 335.86,620.21 334.02,617.62C332.41,615.02 334.02,611.57 335.4,608.11C336.77,605.23 338.15,602.07 337.01,600.34C335.86,598.61 333.1,599.76 330.57,600.63C327.58,601.78 324.59,602.93 322.76,600.34C321.15,597.75 322.76,594.29 324.13,590.83C325.51,587.95 326.89,584.79 325.74,583.06C324.59,581.33 321.83,582.2 319.31,583.35C316.32,584.5 313.33,585.65 311.49,583.06C311.26,582.77 311.26,582.2 311.49,581.91C311.72,581.62 312.18,581.62 312.41,581.91C313.56,583.64 316.32,582.77 318.85,581.62C321.83,580.47 324.82,579.32 326.66,581.91C328.27,584.5 326.66,587.95 325.28,591.41C323.9,594.29 322.52,597.46 323.67,599.19C324.82,600.91 327.58,599.76 330.11,598.9C333.1,597.75 336.09,596.59 337.92,599.19C339.53,601.78 337.92,605.23 336.55,608.69C335.17,611.57 333.79,614.74 334.94,616.46C336.09,618.19 338.84,617.04 341.37,616.18C344.36,615.02 347.35,613.87 349.19,616.46C350.8,619.06 349.19,622.51 347.81,625.97C346.43,628.85 345.05,632.02 346.2,633.74C346.43,634.03 346.43,634.61 346.2,634.9C345.97,634.9 345.97,635.18 345.74,635.18Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M76.12,717.83C75.66,717.83 75.2,717.54 74.74,716.97C74.05,715.82 74.74,714.66 75.2,713.51C75.43,712.94 75.89,712.07 75.89,711.78C75.66,711.5 74.97,711.78 74.28,711.78C73.37,712.07 72.22,712.36 71.53,711.5C70.84,710.34 71.53,709.19 71.99,708.04C72.22,707.47 72.68,706.6 72.68,706.31C72.45,706.03 71.76,706.31 71.07,706.31C70.15,706.6 69,706.89 68.31,706.03C67.62,704.87 68.31,703.72 68.77,702.57C69,701.99 69.46,701.13 69.46,700.84C69.23,700.55 69.23,699.98 69.69,699.98C69.92,699.69 70.38,699.69 70.38,700.27C71.07,701.42 70.38,702.57 69.92,703.72C69.69,704.3 69.23,705.16 69.23,705.45C69.46,705.74 70.15,705.45 70.84,705.45C71.76,705.16 72.91,704.87 73.6,705.74C74.28,706.89 73.6,708.04 73.14,709.19C72.91,709.77 72.45,710.63 72.45,710.92C72.68,711.21 73.37,710.92 74.05,710.92C74.97,710.63 76.12,710.34 76.81,711.21C77.5,712.36 76.81,713.51 76.35,714.66C76.12,715.24 75.66,716.1 75.66,716.39C75.89,716.68 76.58,716.39 77.27,716.39C78.19,716.1 79.34,715.82 80.03,716.68C80.26,716.97 80.26,717.54 79.8,717.54C79.57,717.83 79.11,717.83 79.11,717.26C78.88,716.97 78.19,717.26 77.5,717.26C77.04,717.54 76.58,717.83 76.12,717.83Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M185.53,593.43H185.3C182.77,591.41 183.46,586.8 183.92,582.48C184.38,578.45 185.07,574.42 183.01,572.98C181.17,571.54 178.41,574.13 175.88,576.43C173.12,579.03 170.13,581.91 167.6,580.18C165.08,578.16 165.77,573.56 166.23,569.24C166.68,565.2 167.38,561.17 165.31,559.73C163.47,558.29 160.71,560.89 158.18,563.19C155.42,565.78 152.43,568.66 149.91,566.93C147.38,564.92 148.07,560.31 148.53,555.99C148.99,551.96 149.68,547.93 147.61,546.49C145.77,545.05 143.01,547.64 140.48,549.94C137.72,552.53 134.74,555.41 132.21,553.68C131.98,553.4 131.75,553.11 131.98,552.82C132.21,552.53 132.44,552.24 132.67,552.53C134.51,553.97 137.26,551.38 139.79,549.08C142.55,546.49 145.54,543.61 148.07,545.33C150.6,547.35 149.91,551.96 149.45,556.28C148.99,560.31 148.3,564.34 150.37,565.78C152.21,567.22 154.96,564.63 157.49,562.32C160.25,559.45 163.24,556.85 165.77,558.58C168.29,560.6 167.6,565.2 167.15,569.52C166.68,573.56 166,577.59 168.06,579.03C169.9,580.47 172.66,577.88 175.19,575.57C177.95,572.69 180.94,570.1 183.46,571.83C185.99,573.84 185.3,578.45 184.84,582.77C184.38,586.8 183.69,590.83 185.76,592.27C185.99,592.56 186.22,592.85 185.99,593.14C185.99,593.14 185.76,593.43 185.53,593.43Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M4.64,416.9C3.72,416.9 3.49,415.46 3.26,414.59C3.26,414.3 3.03,413.44 2.8,413.44C2.57,413.44 2.34,414.3 2.11,414.59C1.65,415.46 1.19,416.61 0.27,416.32C-0.65,416.32 -0.88,414.88 -1.11,414.02C-1.11,413.73 -1.34,412.86 -1.57,412.86C-1.8,412.86 -2.02,413.73 -2.25,414.02C-2.71,414.88 -3.17,416.03 -4.09,415.74C-5.01,415.74 -5.24,414.3 -5.47,413.44C-5.47,413.15 -5.7,412.29 -5.93,412.29C-6.16,412.29 -6.39,413.15 -6.62,413.44C-7.08,414.3 -7.54,415.46 -8.46,415.17C-8.69,415.17 -8.92,414.88 -8.92,414.3C-8.92,414.02 -8.69,413.73 -8.23,413.73C-8,413.73 -7.77,412.86 -7.54,412.58C-7.08,411.71 -6.62,410.56 -5.7,410.85C-4.78,410.85 -4.55,412.29 -4.32,413.15C-4.32,413.44 -4.09,414.3 -3.86,414.3C-3.63,414.3 -3.4,413.44 -3.17,413.15C-2.71,412.29 -2.25,411.14 -1.34,411.42C-0.42,411.42 -0.19,412.86 0.04,413.73C0.04,414.02 0.27,414.88 0.5,414.88C0.73,414.88 0.96,414.02 1.19,413.73C1.65,412.86 2.11,411.71 3.03,412C3.95,412 4.18,413.44 4.41,414.3C4.41,414.59 4.64,415.46 4.87,415.46C5.1,415.46 5.33,415.74 5.33,416.32C5.1,416.61 4.87,416.9 4.64,416.9Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M-47.53,696.23C-47.76,696.23 -47.99,695.95 -47.99,695.66C-47.99,695.37 -47.76,694.79 -47.53,694.79C-45.92,694.79 -45.01,691.63 -44.09,688.75C-42.94,685.29 -42.02,681.84 -39.49,681.84C-36.96,681.84 -35.81,685.29 -34.66,688.75C-33.74,691.63 -32.59,694.79 -30.98,694.79C-29.38,694.79 -28.46,691.63 -27.54,688.75C-26.39,685.29 -25.47,681.84 -22.94,681.84C-20.41,681.84 -19.26,685.29 -18.11,688.75C-17.19,691.63 -16.04,694.79 -14.44,694.79C-12.83,694.79 -11.91,691.63 -10.99,688.75C-9.84,685.29 -8.92,681.84 -6.39,681.84C-3.86,681.84 -2.71,685.29 -1.56,688.75C-0.64,691.63 0.5,694.79 2.11,694.79C2.34,694.79 2.57,695.08 2.57,695.37C2.57,695.66 2.34,696.23 2.11,696.23C-0.41,696.23 -1.56,692.78 -2.48,689.32C-3.4,686.44 -4.55,683.28 -6.16,683.28C-7.77,683.28 -8.69,686.44 -9.61,689.32C-10.76,692.78 -11.68,696.23 -14.21,696.23C-16.73,696.23 -17.88,692.78 -19.03,689.32C-19.95,686.44 -21.1,683.28 -22.71,683.28C-24.32,683.28 -25.24,686.44 -26.16,689.32C-27.31,692.78 -28.23,696.23 -30.75,696.23C-33.28,696.23 -34.43,692.78 -35.58,689.32C-36.5,686.44 -37.65,683.28 -39.26,683.28C-40.87,683.28 -41.79,686.44 -42.71,689.32C-44.09,692.78 -45.01,696.23 -47.53,696.23Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M283.68,109.33C282.99,109.33 282.53,109.05 281.84,108.76C279.55,106.74 280.23,102.71 280.92,98.68C281.61,95.22 282.07,91.48 280.46,90.04C278.86,88.6 276.33,90.9 274.03,92.92C271.27,95.22 268.51,97.82 266.21,95.8C263.92,93.78 264.61,89.75 265.3,85.72C265.98,82.26 266.44,78.52 264.83,77.08C263.23,75.64 260.7,77.95 258.4,79.96C255.64,82.26 252.88,84.86 250.59,82.84C248.29,80.82 248.98,76.79 249.66,72.76C250.35,69.31 250.81,65.56 249.21,64.12C248.98,63.83 248.98,63.55 248.98,63.26C249.21,62.97 249.43,62.97 249.66,62.97C251.96,64.99 251.27,69.02 250.59,73.05C249.9,76.51 249.43,80.25 251.04,81.69C252.65,83.13 255.18,80.82 257.48,78.81C260.24,76.51 263,73.91 265.3,75.93C267.59,77.95 266.9,81.98 266.21,86.01C265.52,89.46 265.07,93.21 266.67,94.65C268.28,96.09 270.81,93.78 273.11,91.77C275.87,89.46 278.63,86.87 280.92,88.89C283.22,90.9 282.53,94.94 281.84,98.97C281.15,102.42 280.7,106.17 282.3,107.61C283.91,109.05 286.44,106.74 288.74,104.73C291.5,102.42 294.26,99.83 296.55,101.85C296.78,102.14 296.78,102.42 296.78,102.71C296.55,103 296.33,103 296.1,103C294.49,101.56 291.96,103.86 289.66,105.88C287.59,107.61 285.52,109.33 283.68,109.33Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M260.7,737.99H260.47C259.55,737.7 259.32,736.55 259.09,735.4C259.09,734.82 258.86,733.96 258.63,733.96C258.4,733.96 257.94,734.82 257.71,735.11C257.25,735.97 256.56,737.13 255.64,736.84C254.72,736.55 254.49,735.4 254.26,734.25C254.26,733.67 254.03,732.81 253.8,732.81C253.57,732.81 253.11,733.67 252.88,733.96C252.42,734.82 251.73,735.97 250.81,735.69C249.89,735.4 249.66,734.25 249.43,733.09C249.43,732.52 249.2,731.66 248.97,731.66C248.74,731.66 248.51,731.08 248.51,730.79C248.51,730.5 248.97,730.22 249.2,730.22C250.12,730.5 250.35,731.66 250.58,732.81C250.58,733.38 250.81,734.25 251.04,734.25C251.27,734.25 251.73,733.38 251.96,733.09C252.42,732.23 253.11,731.08 254.03,731.37C254.95,731.66 255.18,732.81 255.41,733.96C255.41,734.53 255.64,735.4 255.87,735.4C256.1,735.4 256.56,734.53 256.79,734.25C257.25,733.38 257.94,732.23 258.86,732.52C259.78,732.81 260.01,733.96 260.24,735.11C260.24,735.69 260.47,736.55 260.7,736.55C260.92,736.55 261.39,735.69 261.61,735.4C262.08,734.53 262.76,733.38 263.68,733.67C263.91,733.67 264.14,734.25 264.14,734.53C264.14,734.82 263.68,735.11 263.45,735.11C263.22,735.11 262.76,735.97 262.53,736.26C261.85,737.13 261.39,737.99 260.7,737.99Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M152.9,608.11C151.75,608.11 151.29,606.67 151.06,605.23C150.83,604.37 150.6,603.51 150.37,603.51C150.14,603.51 149.68,604.37 149.45,605.23C148.99,606.38 148.53,607.82 147.38,607.82C146.23,607.82 146,606.38 145.54,604.95C145.31,604.08 145.08,603.22 144.85,603.22C144.39,603.22 144.16,604.08 143.93,604.95C143.47,606.1 143.01,607.54 141.87,607.54C140.72,607.54 140.49,606.1 140.03,604.66C139.8,603.79 139.57,602.93 139.11,602.93C138.88,602.93 138.42,603.79 138.19,604.66C137.73,605.81 137.27,607.25 136.12,607.25C135.89,607.25 135.66,606.96 135.66,606.38C135.66,606.1 135.89,605.81 136.35,605.81C136.58,605.81 137.04,604.95 137.27,604.08C137.73,602.93 138.19,601.49 139.34,601.49C140.49,601.49 140.72,602.93 141.18,604.37C141.4,605.23 141.63,606.1 141.87,606.1C142.32,606.1 142.55,605.23 142.79,604.37C143.24,603.22 143.7,601.78 144.85,601.78C146,601.78 146.23,603.22 146.69,604.66C146.92,605.52 147.15,606.38 147.38,606.38C147.61,606.38 148.07,605.52 148.3,604.66C148.76,603.51 149.22,602.07 150.37,602.07C151.52,602.07 151.75,603.51 152.21,604.95C152.44,605.81 152.67,606.67 152.9,606.67C153.13,606.67 153.36,606.96 153.36,607.54C153.59,607.82 153.13,608.11 152.9,608.11Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M86.7,405.66C86.24,405.66 86.01,405.38 86.24,404.8C86.47,401.63 83.02,399.62 79.8,397.6C76.12,395.58 72.45,393.28 72.68,389.25C72.91,385.22 76.81,383.49 80.72,382.05C84.17,380.61 87.85,379.17 87.85,376C88.08,372.83 84.63,370.82 81.41,368.8C77.73,366.79 74.06,364.48 74.29,360.45C74.51,356.42 78.42,354.69 82.33,353.25C85.78,351.81 89.46,350.37 89.46,347.2C89.69,344.04 86.24,342.02 83.02,340C79.34,337.99 75.66,335.68 75.89,331.65C76.12,327.62 80.03,325.89 83.94,324.45C87.39,323.01 91.06,321.57 91.06,318.41C91.06,318.12 91.29,317.54 91.75,317.83C91.98,317.83 92.21,318.12 92.21,318.69C91.98,322.73 88.08,324.45 84.17,325.89C80.72,327.33 77.04,328.77 77.04,331.94C76.81,335.11 80.26,337.13 83.48,339.14C87.16,341.16 90.83,343.46 90.6,347.49C90.37,351.52 86.47,353.25 82.56,354.69C79.11,356.13 75.43,357.57 75.43,360.74C75.2,363.91 78.65,365.92 81.87,367.94C85.55,369.95 89.23,372.26 89,376.29C88.77,380.32 84.86,382.05 80.95,383.49C77.5,384.93 73.83,386.37 73.83,389.54C73.6,392.7 77.04,394.72 80.26,396.74C83.94,398.75 87.62,401.06 87.39,405.09C87.16,405.38 86.93,405.66 86.7,405.66Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M152.21,88.03C151.06,88.03 150.83,86.59 150.37,85.43C150.14,84.86 149.91,83.99 149.68,83.99C149.45,83.99 149.22,84.86 148.99,85.43C148.53,86.59 148.07,87.74 147.15,87.74C146.23,87.74 145.77,86.3 145.54,85.15C145.31,84.57 145.08,83.71 144.85,83.71C144.62,83.71 144.39,84.57 144.16,85.15C143.7,86.3 143.24,87.45 142.32,87.45C141.4,87.45 140.94,86.01 140.71,84.86C140.48,84.28 140.25,83.42 140.02,83.42C139.79,83.42 139.56,84.28 139.34,84.86C138.88,86.01 138.41,87.16 137.5,87.16C137.27,87.16 137.04,86.87 137.04,86.3C137.04,86.01 137.27,85.72 137.73,85.72C137.96,85.72 138.18,84.86 138.41,84.28C138.88,83.13 139.34,81.98 140.25,81.98C141.17,81.98 141.63,83.42 141.86,84.57C142.09,85.15 142.32,86.01 142.55,86.01C142.78,86.01 143.01,85.15 143.24,84.57C143.7,83.42 144.16,82.27 145.08,82.27C146,82.27 146.46,83.71 146.69,84.86C146.92,85.43 147.15,86.3 147.38,86.3C147.61,86.3 147.84,85.43 148.07,84.86C148.53,83.71 148.99,82.55 149.91,82.55C150.83,82.55 151.29,83.99 151.52,85.15C151.75,85.72 151.98,86.59 152.21,86.59C152.44,86.59 152.67,86.87 152.67,87.45C152.67,87.74 152.44,88.03 152.21,88.03Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M284.37,350.66C284.37,350.37 284.37,350.66 284.37,350.66C283.91,350.37 283.68,350.08 283.91,349.8C284.6,347.78 286.44,347.78 288.51,347.78C290.12,347.78 291.73,347.78 291.95,346.63C292.18,345.48 291.04,344.04 289.89,342.89C288.51,341.16 286.9,339.43 287.59,337.41C288.28,335.4 290.12,335.4 292.18,335.4C293.79,335.4 295.4,335.4 295.63,334.25C295.86,333.09 294.71,331.65 293.56,330.5C292.18,328.77 290.58,327.05 291.27,325.03C291.95,323.02 293.79,323.02 295.86,323.02C297.47,323.02 299.08,323.02 299.31,321.86C299.54,320.71 298.39,319.27 297.24,318.12C295.86,316.39 294.25,314.66 294.94,312.65C294.94,312.36 295.4,312.07 295.63,312.36C295.86,312.36 296.09,312.94 295.86,313.22C295.63,314.38 296.78,315.82 297.93,316.97C299.31,318.7 300.92,320.42 300.23,322.44C299.54,324.45 297.7,324.45 295.63,324.45C294.02,324.45 292.41,324.45 292.18,325.61C291.95,326.76 293.1,328.2 294.25,329.35C295.63,331.08 297.24,332.81 296.55,334.82C295.86,336.84 294.02,336.84 291.95,336.84C290.35,336.84 288.74,336.84 288.51,337.99C288.28,339.14 289.43,340.58 290.58,341.73C291.95,343.46 293.56,345.19 292.87,347.2C292.18,349.22 290.35,349.22 288.28,349.22C286.67,349.22 285.06,349.22 284.83,350.37C284.83,350.37 284.6,350.66 284.37,350.66Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M232.65,620.78C232.43,620.78 232.2,620.5 232.2,620.21L230.59,586.23L218.18,603.79C217.95,604.08 217.71,604.08 217.49,604.08C217.26,604.08 217.03,603.79 217.03,603.51L215.19,564.34C215.19,564.05 215.42,563.48 215.65,563.48C215.88,563.48 216.34,563.76 216.34,564.05L218.18,601.49L230.59,583.92C230.82,583.63 231.05,583.63 231.28,583.63C231.51,583.63 231.74,583.92 231.74,584.21L233.35,619.92C233.35,620.5 233.12,620.78 232.65,620.78C232.88,620.78 232.65,620.78 232.65,620.78Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M42.57,226.83C42.34,226.83 42.11,226.83 42.11,226.54L26.94,200.91L24.41,222.8C24.41,223.09 24.18,223.37 23.95,223.37C23.72,223.37 23.49,223.37 23.26,223.09L5.56,193.42C5.33,193.14 5.33,192.56 5.79,192.56C6.02,192.27 6.48,192.27 6.48,192.85L23.26,221.07L25.79,199.18C25.79,198.9 26.02,198.61 26.25,198.61C26.48,198.61 26.71,198.61 26.94,198.9L43.03,225.96C43.26,226.25 43.26,226.83 42.8,226.83H42.57Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M274.25,596.31C274.02,596.31 274.02,596.31 274.25,596.31C273.79,596.02 273.57,595.73 273.79,595.44L281.15,573.56L270.35,579.03C270.12,579.03 269.89,579.03 269.66,578.74C269.43,578.45 269.43,578.16 269.43,577.88L276.55,556.57C276.78,556.28 277.01,555.99 277.24,556.28C277.47,556.57 277.7,556.85 277.47,557.14L270.81,577.01L281.61,571.54C281.84,571.54 282.07,571.54 282.3,571.83C282.53,572.12 282.53,572.4 282.53,572.69L274.48,596.31C274.71,596.31 274.48,596.31 274.25,596.31Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M113.82,129.78C113.59,129.78 113.36,129.78 113.36,129.49L105.78,111.93L102.79,124.89C102.79,125.17 102.56,125.46 102.33,125.46C102.1,125.46 101.87,125.46 101.87,125.17L92.68,104.15C92.45,103.86 92.68,103.29 92.91,103.29C93.14,103 93.6,103.29 93.6,103.57L102.1,123.16L105.09,110.2C105.09,109.91 105.32,109.62 105.55,109.62C105.78,109.62 106.01,109.62 106.01,109.91L114.28,128.92C114.51,129.21 114.28,129.78 114.05,129.78C113.82,129.78 113.82,129.78 113.82,129.78Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M355.85,258.51C355.63,258.51 355.63,258.51 355.39,258.22C355.17,257.93 355.17,257.64 355.39,257.07L364.82,241.52L354.24,243.24C354.02,243.24 353.79,243.24 353.79,242.96C353.56,242.67 353.79,242.38 353.79,242.09L365.05,223.38C365.28,223.09 365.51,223.09 365.97,223.38C366.2,223.66 366.2,223.95 365.97,224.53L355.39,241.8L365.97,240.08C366.2,240.08 366.43,240.08 366.43,240.37C366.66,240.65 366.43,240.94 366.43,241.23L356.08,258.22C356.08,258.51 356.08,258.51 355.85,258.51Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M24.87,598.03C24.64,598.03 24.64,598.03 24.41,597.75L19.81,592.28V596.88C19.81,597.17 19.58,597.46 19.35,597.46C19.12,597.46 18.89,597.46 18.66,597.17L13.61,590.84C13.38,590.55 13.38,589.97 13.61,589.68C13.84,589.4 14.3,589.4 14.53,589.68L18.43,594.58V589.97C18.43,589.68 18.66,589.4 18.89,589.4C19.12,589.4 19.35,589.4 19.58,589.68L25.1,596.59C25.33,596.88 25.33,597.46 25.1,597.75C25.33,598.03 25.1,598.03 24.87,598.03Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M74.75,759.59C74.52,759.59 74.29,759.59 74.29,759.3L71.07,753.25L70.38,757.28C70.38,757.57 70.15,757.86 69.92,757.86C69.69,757.86 69.46,757.86 69.23,757.57L65.78,750.95C65.55,750.66 65.78,750.09 66.01,750.09C66.24,749.8 66.7,750.09 66.7,750.37L69.46,755.56L70.15,751.53C70.15,751.24 70.38,750.95 70.61,750.95C70.84,750.95 71.07,750.95 71.3,751.24L75.21,758.72C75.44,759.01 75.21,759.59 74.98,759.59C74.98,759.59 74.98,759.59 74.75,759.59Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M55.44,665.13C55.21,665.13 55.21,665.13 54.98,664.84L35.9,640.94V664.56C35.9,664.84 35.67,665.13 35.44,665.13C35.21,665.13 34.98,665.13 34.75,664.84L12.69,636.91C12.46,636.62 12.46,636.05 12.69,635.76C12.92,635.47 13.38,635.47 13.61,635.76L34.75,662.25V638.64C34.75,638.35 34.98,638.06 35.21,638.06C35.44,638.06 35.67,638.06 35.9,638.35L55.9,663.69C56.13,663.98 56.13,664.56 55.9,664.84C55.67,665.13 55.67,665.13 55.44,665.13Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M131.98,797.03C131.75,797.03 131.75,797.03 131.52,796.74C131.29,796.45 131.29,795.87 131.52,795.59L151.52,776L134.05,773.41C133.82,773.41 133.59,773.12 133.59,772.84C133.59,772.55 133.59,772.26 133.82,771.97L157.04,749.22C157.27,748.93 157.73,748.93 157.96,749.22C158.18,749.51 158.18,750.09 157.96,750.37L135.89,771.97L153.36,774.56C153.59,774.56 153.82,774.85 153.82,775.14C153.82,775.43 153.82,775.72 153.59,776L132.44,796.74C132.21,797.03 131.98,797.03 131.98,797.03Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M339.3,21.79C338.85,21.79 338.61,21.21 338.85,20.93L340.45,9.69L335.63,14.01C335.4,14.3 335.17,14.3 334.94,14.01C334.71,13.73 334.71,13.44 334.71,13.15L336.55,-0.96C336.55,-1.25 337.01,-1.54 337.24,-1.54C337.47,-1.54 337.7,-0.96 337.7,-0.67L336.09,11.71L340.91,7.39C341.14,7.1 341.37,7.1 341.6,7.39C341.83,7.68 341.83,7.97 341.83,8.26L339.99,20.93C339.76,21.5 339.53,21.79 339.3,21.79Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M367.8,55.48H367.57L359.99,51.45C359.76,51.16 359.53,50.88 359.76,50.59C359.99,50.3 360.22,50.01 360.45,50.3L366.65,53.76L365.28,49.15C365.28,48.86 365.28,48.57 365.51,48.28C365.73,48 365.96,48 366.2,48.28L373.09,52.03C373.32,52.32 373.55,52.6 373.32,52.89C373.09,53.18 372.86,53.47 372.63,53.18L367.11,50.01L368.49,54.62C368.49,54.91 368.49,55.19 368.26,55.48C368.26,55.48 368.03,55.48 367.8,55.48Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M250.58,344.9L241.62,344.33C241.39,344.33 241.16,344.04 241.16,343.46C241.16,343.17 241.39,342.6 241.85,342.89L249.2,343.46L245.98,338.85C245.75,338.57 245.75,338.28 245.98,337.99C245.98,337.7 246.21,337.41 246.44,337.7L256.1,338.28C256.33,338.28 256.56,338.57 256.56,339.14C256.56,339.43 256.33,340.01 255.87,339.72L247.59,339.14L250.81,343.75C251.04,344.04 251.04,344.33 250.81,344.61C251.04,344.61 250.81,344.9 250.58,344.9Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M11.77,258.22C11.54,258.22 11.31,257.93 11.31,257.64L10.85,250.44L8.55,253.9C8.32,254.19 8.09,254.19 7.86,254.19C7.63,254.19 7.4,253.9 7.4,253.61L6.71,243.82C6.71,243.53 6.94,242.96 7.17,242.96C7.4,242.96 7.86,243.24 7.86,243.53L8.55,251.6L10.85,248.14C11.08,247.85 11.31,247.85 11.54,247.85C11.77,247.85 12,248.14 12,248.43L12.68,257.36C12.45,257.64 12.23,257.93 11.77,258.22C12,258.22 12,258.22 11.77,258.22Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M210.36,18.33C210.13,18.33 209.9,18.05 209.9,17.76L209.44,9.12L206.91,12.86C206.68,13.15 206.45,13.15 206.22,13.15C205.99,13.15 205.76,12.86 205.76,12.57L205.07,3.36C205.07,3.07 205.3,2.5 205.53,2.5C205.76,2.5 206.22,2.78 206.22,3.07L206.68,10.56L209.21,6.81C209.44,6.53 209.67,6.53 209.9,6.53C210.13,6.53 210.36,6.81 210.36,7.1L211.05,17.47C210.82,17.76 210.59,18.33 210.36,18.33Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M232.42,190.54C232.19,190.54 232.19,190.54 231.96,190.26C231.73,189.97 231.73,189.68 231.96,189.1L237.71,180.75L232.42,181.33C232.19,181.33 231.96,181.33 231.96,181.04C231.96,180.75 231.96,180.47 231.96,180.18L237.94,171.25C238.17,170.96 238.4,170.96 238.86,171.25C239.09,171.54 239.09,171.83 238.86,172.4L233.8,179.89L239.09,179.31C239.32,179.31 239.55,179.31 239.55,179.6C239.55,179.89 239.55,180.18 239.55,180.47L232.88,190.26C232.88,190.54 232.65,190.54 232.42,190.54Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M84.17,460.67C83.94,460.67 83.71,460.38 83.71,460.09L81.18,449.73L78.42,456.06C78.42,456.35 78.19,456.35 77.96,456.35C77.73,456.35 77.5,456.06 77.5,455.77L74.51,442.52C74.51,442.24 74.51,441.66 74.97,441.66C75.2,441.66 75.66,441.66 75.66,442.24L78.42,454.04L81.18,447.71C81.18,447.42 81.41,447.42 81.64,447.42C81.87,447.42 82.1,447.71 82.1,448L84.86,460.09C84.86,460.09 84.63,460.67 84.17,460.67C84.4,460.67 84.4,460.67 84.17,460.67Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M231.27,471.32H231.04L223.46,465.27C223.23,464.99 223.23,464.7 223.23,464.41C223.46,464.12 223.69,464.12 223.92,464.12L230.36,469.31L229.44,463.83C229.44,463.55 229.44,463.26 229.67,462.97C229.9,462.68 230.13,462.68 230.36,462.97L237.25,468.44C237.48,468.73 237.48,469.02 237.48,469.31C237.25,469.6 237.02,469.6 236.79,469.6L231.04,464.99L231.96,470.46C231.96,470.75 231.96,471.03 231.74,471.32C231.51,471.32 231.27,471.32 231.27,471.32Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M355.39,718.41C354.94,718.12 354.71,717.83 354.94,717.54L361.83,692.49L348.96,700.55C348.73,700.55 348.5,700.55 348.27,700.55C348.04,700.27 348.04,699.98 348.04,699.69L356.08,670.32C356.08,670.03 356.55,669.74 356.77,669.74C357,669.74 357.23,670.32 357.23,670.6L349.65,698.25L362.52,690.19C362.75,690.19 362.98,690.19 363.21,690.19C363.44,690.47 363.44,690.76 363.44,691.05L356.08,717.54C356.08,718.12 355.86,718.41 355.39,718.41Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M239.09,420.35C238.63,420.35 238.4,419.78 238.63,419.49L243,401.35L234.03,407.68C233.8,407.68 233.57,407.68 233.34,407.68C233.11,407.39 233.11,407.11 233.11,406.82L238.17,384.93C238.17,384.64 238.63,384.36 238.86,384.36C239.09,384.36 239.32,384.93 239.32,385.22L234.49,405.38L243.46,399.04C243.69,399.04 243.92,399.04 244.15,399.04C244.38,399.33 244.38,399.62 244.38,399.91L239.78,419.78C239.78,420.35 239.55,420.35 239.09,420.35Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M102.33,520.57C102.1,520.57 102.1,520.57 101.87,520.28C101.64,519.99 101.64,519.42 101.87,519.13L122.78,492.35L102.1,492.63C101.87,492.63 101.64,492.35 101.64,492.06C101.64,491.77 101.64,491.48 101.87,491.19L126,460.38C126.23,460.09 126.69,460.09 126.92,460.38C127.15,460.67 127.15,461.24 126.92,461.53L103.71,491.48L124.39,491.19C124.62,491.19 124.85,491.48 124.85,491.77C124.85,492.06 124.85,492.35 124.62,492.63L102.79,520.57C102.79,520.57 102.56,520.57 102.33,520.57Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M264.37,288.75C264.14,288.75 263.91,288.46 263.91,288.17C263.91,287.88 264.14,287.31 264.37,287.31L269.43,287.02L267.13,284.43C266.9,284.14 266.9,283.85 266.9,283.56C266.9,283.27 267.13,282.99 267.36,282.99L274.49,282.41C274.72,282.41 275.18,282.7 275.18,282.99C275.18,283.27 274.95,283.85 274.72,283.85L268.97,284.43L271.27,287.02C271.5,287.31 271.5,287.59 271.5,287.88C271.5,288.17 271.27,288.46 271.04,288.46L264.37,288.75Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M211.51,747.21C211.28,747.21 211.05,746.92 211.05,746.63C210.82,746.34 211.05,745.77 211.28,745.77L216.56,742.89L213.58,741.45C213.35,741.45 213.12,741.16 213.12,740.87C213.12,740.58 213.35,740.29 213.58,740.29L219.55,737.13C219.78,736.84 220.24,737.13 220.24,737.41C220.47,737.7 220.24,738.28 220.01,738.28L215.41,740.87L218.4,742.31C218.63,742.31 218.86,742.6 218.86,742.89C218.86,743.17 218.63,743.46 218.4,743.46L211.51,747.21Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M318.62,238.35C318.39,238.35 318.39,238.35 318.16,238.06C317.93,237.77 317.93,237.49 318.16,236.91L337.01,206.38L317.93,209.55C317.7,209.55 317.47,209.55 317.47,209.26C317.47,208.98 317.47,208.69 317.47,208.4L335.4,179.6C335.63,179.31 335.86,179.31 336.32,179.6C336.55,179.89 336.55,180.18 336.32,180.75L319.31,208.4L338.38,205.23C338.61,205.23 338.84,205.23 338.84,205.52C338.84,205.81 338.84,206.1 338.84,206.38L319.08,238.35C319.08,238.35 318.85,238.35 318.62,238.35Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M107.84,10.85C107.61,10.85 107.38,10.56 107.38,10.27C107.38,9.98 107.61,9.41 107.84,9.41L117.27,9.12L112.9,3.65C112.67,3.36 112.67,3.07 112.67,2.78C112.67,2.49 112.9,2.21 113.13,2.21L125.08,1.92C125.31,1.92 125.54,2.21 125.54,2.49C125.54,2.78 125.31,3.36 125.08,3.36L114.51,3.65L118.88,9.12C119.11,9.41 119.11,9.69 119.11,9.98C119.11,10.27 118.88,10.56 118.65,10.56L107.84,10.85Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M265.98,33.6C265.76,33.6 265.76,33.6 265.98,33.6L233.81,19.2C233.58,19.2 233.35,18.62 233.35,18.33C233.35,18.05 233.81,17.76 234.04,17.76L264.61,31.29L255.87,8.25C255.87,7.97 255.87,7.68 255.87,7.39C256.1,7.1 256.33,7.1 256.56,7.1L285.52,20.06C285.75,20.06 285.98,20.64 285.98,20.93C285.98,21.21 285.52,21.5 285.29,21.5L257.71,9.41L266.45,32.44C266.45,32.73 266.45,33.02 266.45,33.31C266.21,33.6 265.98,33.6 265.98,33.6Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M333.1,798.75C332.87,798.75 332.64,798.47 332.64,798.18C332.64,797.89 332.64,797.31 333.1,797.31L350.57,790.11L340.45,783.78C340.22,783.78 340.22,783.49 340.22,783.2C340.22,782.91 340.45,782.63 340.68,782.63L357.69,775.72C357.92,775.72 358.38,775.72 358.38,776.29C358.38,776.58 358.38,777.16 357.92,777.16L342.06,783.49L352.18,789.83C352.41,789.83 352.41,790.11 352.41,790.4C352.41,790.69 352.18,790.98 351.95,790.98L333.1,798.75C333.33,798.47 333.1,798.75 333.1,798.75Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M157.03,225.39C156.8,225.39 156.57,225.1 156.57,224.82L149.91,188.53L140.02,208.4C139.79,208.69 139.56,208.69 139.33,208.69C139.1,208.69 138.87,208.4 138.87,208.11L132.67,173.55C132.67,173.27 132.9,172.69 133.13,172.69C133.36,172.69 133.82,172.98 133.82,173.27L139.79,206.1L149.68,186.23C149.91,185.94 150.13,185.94 150.37,185.94C150.6,185.94 150.82,186.23 150.82,186.51L157.72,224.53C157.72,225.1 157.49,225.39 157.03,225.39Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M137.73,278.09C137.27,278.09 137.04,277.8 137.27,277.23L137.96,265.99L134.05,270.31C133.82,270.6 133.59,270.6 133.36,270.31C133.13,270.31 133.13,270.03 133.13,269.74L133.82,257.93C133.82,257.64 134.05,257.36 134.51,257.36C134.74,257.36 134.97,257.64 134.97,258.22L134.28,268.3L138.19,263.98C138.42,263.69 138.65,263.69 138.88,263.98C139.1,263.98 139.1,264.27 139.1,264.55L138.42,277.51C138.42,277.8 138.19,278.09 137.73,278.09Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M267.36,177.59H267.13C266.9,177.3 266.67,177.01 266.9,176.72L274.95,160.31L265.75,163.19C265.52,163.19 265.29,163.19 265.06,162.9C264.83,162.61 264.83,162.32 265.06,162.04L272.88,145.62C273.11,145.33 273.34,145.04 273.57,145.33C273.8,145.62 274.03,145.91 273.8,146.2L266.67,161.17L275.86,158.29C276.1,158.29 276.32,158.29 276.55,158.58C276.78,158.87 276.78,159.15 276.55,159.44L267.82,177.59C267.59,177.3 267.36,177.59 267.36,177.59Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M97.96,171.83C97.73,171.83 97.73,171.83 97.5,171.54L92.22,166.35C91.99,166.07 91.99,165.78 92.22,165.2C92.45,164.91 92.68,164.91 93.14,165.2L97.27,169.24L96.81,165.49C96.81,165.2 96.81,164.91 97.04,164.91C97.27,164.91 97.5,164.91 97.73,164.91L102.56,169.81C102.79,170.1 102.79,170.39 102.56,170.96C102.33,171.25 102.1,171.25 101.64,170.96L97.96,167.22L98.42,170.96C98.42,171.25 98.42,171.54 98.19,171.54C98.19,171.83 98.19,171.83 97.96,171.83Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M317.47,486.59C317.24,486.59 316.78,486.3 317.01,485.72L318.16,452.32L304.6,467.87C304.37,468.16 304.14,468.16 303.91,467.87C303.68,467.87 303.68,467.58 303.68,467.29L305.06,428.7C305.06,428.42 305.29,427.84 305.75,428.13C305.98,428.13 306.21,428.42 306.21,428.99L304.83,465.85L318.39,450.3C318.62,450.01 318.85,450.01 319.08,450.3C319.31,450.3 319.31,450.59 319.31,450.88L317.93,486.01C317.93,486.3 317.7,486.59 317.47,486.59Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M112.21,592.56C111.98,592.56 111.75,592.27 111.75,591.98L109,559.73L97.73,577.3C97.5,577.59 97.27,577.59 97.04,577.59C96.81,577.59 96.58,577.3 96.58,577.01L93.36,539.57C93.36,539.28 93.59,538.71 93.82,538.71C94.05,538.71 94.51,539 94.51,539.28L97.73,574.99L109,557.43C109.22,557.14 109.45,557.14 109.68,557.14C109.91,557.14 110.14,557.43 110.14,557.72L113.13,591.7C112.9,591.98 112.67,592.27 112.21,592.56C112.44,592.56 112.21,592.56 112.21,592.56Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M97.73,68.15C97.5,68.15 97.27,67.87 97.27,67.58C97.27,67.29 97.5,66.71 97.73,66.71L110.83,63.26L103.25,57.21C103.02,56.92 103.02,56.63 103.02,56.35C103.02,56.06 103.25,55.77 103.48,55.77L119.34,51.45C119.57,51.45 120.03,51.74 120.03,52.03C120.03,52.31 119.8,52.89 119.57,52.89L105.09,56.92L112.67,62.97C112.9,63.26 112.9,63.55 112.9,63.83C112.9,64.12 112.67,64.41 112.44,64.41L97.73,68.15C97.96,68.15 97.96,68.15 97.73,68.15Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M342.29,497.53C342.06,497.53 341.83,497.24 341.83,496.95C341.83,496.67 342.06,496.09 342.29,496.09L376.54,490.62L359.53,473.91C359.3,473.63 359.3,473.34 359.3,473.05C359.3,472.76 359.53,472.47 359.76,472.47L391.94,467.29C392.17,467.29 392.63,467.58 392.63,467.87C392.63,468.15 392.4,468.73 392.17,468.73L361.37,473.63L378.38,490.33C378.61,490.62 378.61,490.9 378.61,491.19C378.61,491.48 378.38,491.77 378.15,491.77L342.29,497.53Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M259.32,643.82C259.09,643.82 259.09,643.82 258.86,643.53C258.63,643.25 258.63,642.67 258.86,642.38L262.3,637.77H259.55C259.32,637.77 259.09,637.49 259.09,637.49C259.09,637.2 259.09,636.91 259.09,636.62L262.99,631.44C263.23,631.15 263.68,631.15 263.91,631.44C264.14,631.73 264.14,632.3 263.91,632.59L260.93,636.62H263.68C263.91,636.62 264.14,636.91 264.14,636.91C264.14,637.2 264.14,637.49 264.14,637.77L259.78,643.53C259.55,643.82 259.32,643.82 259.32,643.82Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M295.4,729.06C295.17,729.06 295.4,729.06 295.4,729.06C294.94,729.06 294.71,728.49 294.94,728.2L297.01,718.7L292.41,721.86C292.18,722.15 291.95,721.86 291.72,721.86C291.49,721.58 291.49,721.29 291.49,721L294.02,708.62C294.02,708.33 294.48,708.04 294.71,708.04C294.94,708.04 295.17,708.62 295.17,708.91L292.87,719.56L297.47,716.39C297.7,716.1 297.93,716.39 298.16,716.39C298.39,716.68 298.39,716.97 298.39,717.26L296.09,728.49C295.86,729.06 295.63,729.06 295.4,729.06Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M180.93,60.38L173.81,58.36C173.58,58.36 173.35,57.79 173.35,57.5C173.35,57.21 173.81,56.92 174.04,56.92L179.79,58.65L177.95,55.2C177.72,54.91 177.72,54.62 177.95,54.33C178.18,54.04 178.41,54.04 178.64,54.04L185.07,55.77C185.3,55.77 185.53,56.35 185.53,56.64C185.53,56.92 185.07,57.21 184.84,57.21L179.79,55.77L181.63,59.23C181.85,59.52 181.85,59.8 181.63,60.09C181.4,60.09 181.16,60.38 180.93,60.38Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M146.46,714.09C146.23,714.09 146,713.8 146,713.51C145.77,713.22 146,712.65 146.23,712.65L159.1,706.03L151.29,701.99C151.06,701.99 150.83,701.71 150.83,701.42C150.83,701.13 151.06,700.84 151.29,700.84L164.16,694.22C164.39,693.93 164.85,694.22 164.85,694.51C165.08,694.79 164.85,695.37 164.62,695.37L153.13,701.13L160.94,705.16C161.17,705.16 161.4,705.45 161.4,705.74C161.4,706.03 161.17,706.31 160.94,706.31L146.46,714.09C146.69,714.09 146.46,714.09 146.46,714.09Z" |
||||
android:fillColor="#505050"/> |
||||
<path |
||||
android:pathData="M330.34,547.06C330.11,547.06 330.11,547.06 329.88,546.77L310.8,521.43L310.11,543.32C310.11,543.6 309.89,543.89 309.65,543.89C309.42,543.89 309.2,543.89 308.96,543.6L290.81,519.41C290.58,519.13 290.58,518.55 290.81,518.26C291.04,517.97 291.5,517.97 291.73,518.26L308.96,541.3L309.65,519.41C309.65,519.13 309.89,518.84 310.11,518.84C310.34,518.84 310.57,518.84 310.8,519.13L330.8,545.91C331.03,546.2 331.03,546.77 330.8,547.06C330.57,547.06 330.34,547.06 330.34,547.06Z" |
||||
android:fillColor="#505050"/> |
||||
</group> |
||||
</vector> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<corners android:radius="16dp" /> |
||||
<solid android:color="#F6F6F6" /> |
||||
</shape> |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<corners android:radius="16dp" /> |
||||
<solid android:color="@color/color_green" /> |
||||
</shape> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<corners android:radius="20dp" /> |
||||
<solid android:color="#FFFFFF" /> |
||||
</shape> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<corners android:radius="16dp" /> |
||||
<solid android:color="@color/color_red" /> |
||||
</shape> |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<corners android:radius="50dp" /> |
||||
<solid android:color="#2B2D30" /> |
||||
</shape> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="24dp" |
||||
android:height="24dp" |
||||
android:viewportWidth="24" |
||||
android:viewportHeight="24"> |
||||
<path |
||||
android:fillColor="#00FF00" |
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2ZM10,17L5,12L6.41,10.59L10,14.17L17.59,6.58L19,8L10,17Z"/> |
||||
</vector> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="30dp" |
||||
android:height="30dp" |
||||
android:viewportWidth="30" |
||||
android:viewportHeight="30"> |
||||
<path |
||||
android:pathData="M16.844,5.445C16.876,5.326 16.931,5.214 17.006,5.117C17.081,5.019 17.174,4.937 17.281,4.875C17.388,4.814 17.505,4.774 17.627,4.758C17.75,4.742 17.874,4.75 17.993,4.782C19.731,5.235 21.316,6.144 22.586,7.414C23.856,8.684 24.765,10.269 25.218,12.007C25.25,12.126 25.258,12.25 25.242,12.373C25.226,12.495 25.186,12.612 25.125,12.719C25.063,12.826 24.981,12.919 24.883,12.994C24.786,13.069 24.674,13.124 24.555,13.156C24.476,13.177 24.394,13.187 24.313,13.188C24.106,13.188 23.905,13.119 23.741,12.993C23.577,12.868 23.46,12.691 23.407,12.491C23.037,11.073 22.295,9.778 21.259,8.741C20.222,7.705 18.927,6.963 17.509,6.593C17.389,6.562 17.278,6.507 17.18,6.432C17.082,6.357 17,6.264 16.938,6.157C16.877,6.05 16.837,5.932 16.82,5.81C16.804,5.688 16.812,5.564 16.844,5.445ZM16.571,10.343C18.187,10.775 19.225,11.813 19.657,13.429C19.71,13.628 19.827,13.805 19.991,13.931C20.155,14.057 20.356,14.125 20.563,14.125C20.644,14.125 20.726,14.114 20.805,14.093C20.924,14.061 21.036,14.007 21.133,13.932C21.231,13.857 21.313,13.763 21.375,13.657C21.436,13.55 21.476,13.432 21.492,13.31C21.508,13.188 21.5,13.064 21.468,12.945C20.868,10.7 19.3,9.132 17.055,8.532C16.936,8.5 16.812,8.492 16.69,8.508C16.568,8.524 16.45,8.564 16.344,8.626C16.237,8.688 16.144,8.77 16.069,8.867C15.994,8.965 15.939,9.077 15.907,9.196C15.875,9.314 15.867,9.439 15.884,9.561C15.9,9.683 15.94,9.8 16.001,9.907C16.063,10.014 16.145,10.107 16.243,10.182C16.341,10.257 16.452,10.312 16.571,10.343ZM26.173,21.517C25.965,23.105 25.185,24.563 23.98,25.618C22.774,26.673 21.227,27.253 19.625,27.25C10.32,27.25 2.75,19.68 2.75,10.375C2.747,8.773 3.327,7.226 4.382,6.02C5.437,4.815 6.895,4.036 8.483,3.827C8.884,3.778 9.291,3.86 9.642,4.061C9.993,4.262 10.27,4.571 10.431,4.942L12.906,10.468V10.482C13.029,10.766 13.08,11.076 13.054,11.384C13.028,11.693 12.926,11.991 12.757,12.25C12.736,12.282 12.713,12.311 12.69,12.34L10.25,15.232C11.128,17.016 12.993,18.865 14.8,19.745L17.653,17.318C17.681,17.295 17.71,17.273 17.741,17.253C18,17.08 18.298,16.974 18.609,16.945C18.919,16.917 19.232,16.966 19.518,17.089L19.534,17.096L25.054,19.569C25.426,19.73 25.736,20.006 25.938,20.357C26.139,20.708 26.222,21.115 26.173,21.517ZM24.313,21.283C24.313,21.283 24.304,21.283 24.3,21.283L18.792,18.816L15.938,21.243C15.911,21.266 15.882,21.288 15.852,21.309C15.582,21.489 15.27,21.596 14.946,21.619C14.623,21.642 14.299,21.581 14.006,21.442C11.811,20.382 9.623,18.21 8.561,16.039C8.421,15.748 8.358,15.426 8.378,15.103C8.399,14.781 8.502,14.469 8.679,14.199C8.698,14.167 8.721,14.137 8.745,14.109L11.188,11.213L8.727,5.705C8.726,5.7 8.726,5.696 8.727,5.691C7.59,5.839 6.547,6.397 5.792,7.259C5.037,8.121 4.622,9.229 4.625,10.375C4.629,14.352 6.211,18.165 9.023,20.977C11.835,23.789 15.648,25.371 19.625,25.375C20.77,25.379 21.878,24.966 22.741,24.212C23.603,23.459 24.162,22.417 24.313,21.282V21.283Z" |
||||
android:fillColor="#ffffff"/> |
||||
</vector> |
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="30dp" |
||||
android:height="30dp" |
||||
android:viewportWidth="30" |
||||
android:viewportHeight="30"> |
||||
<group> |
||||
<clip-path |
||||
android:pathData="M0,0h30v30h-30z"/> |
||||
<path |
||||
android:pathData="M18.174,14.405C16.114,13.71 13.873,13.706 11.81,14.395C11.66,14.446 11.526,14.535 11.422,14.651C11.318,14.768 11.247,14.909 11.216,15.061L10.521,18.368C10.491,18.514 10.423,18.651 10.324,18.765C10.226,18.879 10.099,18.968 9.956,19.023L4.483,21.125C4.298,21.197 4.093,21.208 3.9,21.157C3.708,21.106 3.537,20.996 3.415,20.843C2.594,19.804 2.191,18.509 2.282,17.202C2.373,15.895 2.952,14.665 3.909,13.743C6.866,10.893 10.868,9.301 15.034,9.317C19.199,9.334 23.188,10.956 26.122,13.828C27.072,14.758 27.64,15.993 27.72,17.301C27.801,18.608 27.387,19.899 26.558,20.932C26.434,21.084 26.263,21.193 26.07,21.243C25.877,21.292 25.672,21.279 25.487,21.206L20.027,19.06C19.886,19.004 19.761,18.916 19.664,18.802C19.566,18.688 19.499,18.553 19.469,18.408L18.765,15.069C18.734,14.919 18.663,14.778 18.56,14.662C18.456,14.545 18.323,14.457 18.174,14.405V14.405Z" |
||||
android:strokeLineJoin="round" |
||||
android:strokeWidth="1.5" |
||||
android:fillColor="#00000000" |
||||
android:strokeColor="#ffffff" |
||||
android:strokeLineCap="round"/> |
||||
</group> |
||||
</vector> |
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="24dp" |
||||
android:height="24dp" |
||||
android:viewportWidth="24" |
||||
android:viewportHeight="24"> |
||||
<path |
||||
android:fillColor="#FF0000" |
||||
android:pathData="M15.88,3.39C15.09,2.6 13.82,2.6 13.03,3.39L12,4.41L10.97,3.39C10.18,2.6 8.91,2.6 8.12,3.39L3.39,8.12C2.6,8.91 2.6,10.18 3.39,10.97L4.41,12L3.39,13.03C2.6,13.82 2.6,15.09 3.39,15.88L8.12,20.61C8.91,21.4 10.18,21.4 10.97,20.61L12,19.59L13.03,20.61C13.82,21.4 15.09,21.4 15.88,20.61L20.61,15.88C21.4,15.09 21.4,13.82 20.61,13.03L19.59,12L20.61,10.97C21.4,10.18 21.4,8.91 20.61,8.12L15.88,3.39Z"/> |
||||
</vector> |
@ -1,74 +1,74 @@
@@ -1,74 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<vector |
||||
android:height="108dp" |
||||
android:width="108dp" |
||||
android:viewportHeight="108" |
||||
android:viewportWidth="108" |
||||
xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<path android:fillColor="#D82439" |
||||
android:pathData="M0,0h108v108h-108z"/> |
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
</vector> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<vector |
||||
android:height="108dp" |
||||
android:width="108dp" |
||||
android:viewportHeight="108" |
||||
android:viewportWidth="108" |
||||
xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<path android:fillColor="#D82439" |
||||
android:pathData="M0,0h108v108h-108z"/> |
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89" |
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> |
||||
</vector> |
||||
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 870 B |
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:width="18dp" |
||||
android:height="18dp" |
||||
android:viewportWidth="18" |
||||
android:viewportHeight="18"> |
||||
<path |
||||
android:pathData="M5.571,9.057C6.294,10.535 7.492,11.727 8.973,12.443C9.081,12.495 9.201,12.517 9.321,12.508C9.44,12.499 9.556,12.459 9.655,12.392L11.836,10.938C11.932,10.873 12.043,10.834 12.159,10.823C12.274,10.813 12.391,10.831 12.497,10.877L16.577,12.625C16.716,12.684 16.831,12.787 16.907,12.917C16.982,13.047 17.013,13.199 16.995,13.348C16.866,14.357 16.374,15.285 15.61,15.957C14.847,16.629 13.864,17 12.847,17C9.705,17 6.692,15.752 4.47,13.53C2.248,11.308 1,8.295 1,5.153C1,4.136 1.371,3.153 2.043,2.39C2.715,1.626 3.643,1.134 4.652,1.005C4.801,0.987 4.953,1.018 5.083,1.093C5.213,1.169 5.316,1.284 5.375,1.423L7.125,5.507C7.17,5.612 7.188,5.727 7.178,5.842C7.168,5.956 7.13,6.066 7.067,6.163L5.618,8.377C5.552,8.477 5.513,8.592 5.505,8.711C5.497,8.83 5.52,8.949 5.571,9.057V9.057Z" |
||||
android:strokeLineJoin="round" |
||||
android:strokeWidth="1.5" |
||||
android:fillColor="#00000000" |
||||
android:strokeColor="#00CC5E" |
||||
android:strokeLineCap="round"/> |
||||
</vector> |
@ -1,36 +1,36 @@
@@ -1,36 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<!-- Copyright (C) 2014 The Android Open Source Project |
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); |
||||
you may not use this file except in compliance with the License. |
||||
You may obtain a copy of the License at |
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
||||
Unless required by applicable law or agreed to in writing, software |
||||
distributed under the License is distributed on an "AS IS" BASIS, |
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
See the License for the specific language governing permissions and |
||||
limitations under the License. |
||||
--> |
||||
<inset xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material" |
||||
android:insetRight="@dimen/abc_edit_text_inset_horizontal_material" |
||||
android:insetTop="@dimen/abc_edit_text_inset_top_material" |
||||
android:insetBottom="@dimen/abc_edit_text_inset_bottom_material"> |
||||
|
||||
<selector> |
||||
<!-- |
||||
This file is a copy of abc_edit_text_material (https://bit.ly/3k8fX7I). |
||||
The item below with state_pressed="false" and state_focused="false" causes a NullPointerException. |
||||
NullPointerException:tempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable(android.content.res.Resources)' |
||||
|
||||
<item android:state_pressed="false" android:state_focused="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> |
||||
|
||||
For more info, see https://bit.ly/3CdLStv (react-native/pull/29452) and https://bit.ly/3nxOMoR. |
||||
--> |
||||
<item android:state_enabled="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> |
||||
<item android:drawable="@drawable/abc_textfield_activated_mtrl_alpha"/> |
||||
</selector> |
||||
|
||||
</inset> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<!-- Copyright (C) 2014 The Android Open Source Project |
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); |
||||
you may not use this file except in compliance with the License. |
||||
You may obtain a copy of the License at |
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
||||
Unless required by applicable law or agreed to in writing, software |
||||
distributed under the License is distributed on an "AS IS" BASIS, |
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
See the License for the specific language governing permissions and |
||||
limitations under the License. |
||||
--> |
||||
<inset xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material" |
||||
android:insetRight="@dimen/abc_edit_text_inset_horizontal_material" |
||||
android:insetTop="@dimen/abc_edit_text_inset_top_material" |
||||
android:insetBottom="@dimen/abc_edit_text_inset_bottom_material"> |
||||
|
||||
<selector> |
||||
<!-- |
||||
This file is a copy of abc_edit_text_material (https://bit.ly/3k8fX7I). |
||||
The item below with state_pressed="false" and state_focused="false" causes a NullPointerException. |
||||
NullPointerException:tempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable(android.content.res.Resources)' |
||||
|
||||
<item android:state_pressed="false" android:state_focused="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> |
||||
|
||||
For more info, see https://bit.ly/3CdLStv (react-native/pull/29452) and https://bit.ly/3nxOMoR. |
||||
--> |
||||
<item android:state_enabled="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/> |
||||
<item android:drawable="@drawable/abc_textfield_activated_mtrl_alpha"/> |
||||
</selector> |
||||
|
||||
</inset> |
||||
|
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<solid android:color="#444444"/> |
||||
<corners android:radius="16dp"/> |
||||
</shape> |
@ -1,37 +1,37 @@
@@ -1,37 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<font-family xmlns:tools="http://schemas.android.com/tools" |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
tools:ignore="UnusedAttribute"> |
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="400" |
||||
android:font="@font/gilroy_regular" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="400" |
||||
app:font="@font/gilroy_regular" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="500" |
||||
android:font="@font/gilroy_medium" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="500" |
||||
app:font="@font/gilroy_medium" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="600" |
||||
android:font="@font/gilroy_semibold" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="600" |
||||
app:font="@font/gilroy_semibold" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="700" |
||||
android:font="@font/gilroy_bold" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="700" |
||||
app:font="@font/gilroy_bold" /> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<font-family xmlns:tools="http://schemas.android.com/tools" |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
tools:ignore="UnusedAttribute"> |
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="400" |
||||
android:font="@font/gilroy_regular" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="400" |
||||
app:font="@font/gilroy_regular" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="500" |
||||
android:font="@font/gilroy_medium" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="500" |
||||
app:font="@font/gilroy_medium" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="600" |
||||
android:font="@font/gilroy_semibold" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="600" |
||||
app:font="@font/gilroy_semibold" /> |
||||
|
||||
<font |
||||
android:fontStyle="normal" |
||||
android:fontWeight="700" |
||||
android:font="@font/gilroy_bold" |
||||
app:fontStyle="normal" |
||||
app:fontWeight="700" |
||||
app:font="@font/gilroy_bold" /> |
||||
</font-family> |
@ -0,0 +1,117 @@
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto" |
||||
xmlns:tools="http://schemas.android.com/tools" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent"> |
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:scaleType="fitXY" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
app:srcCompat="@drawable/bg_call" /> |
||||
|
||||
<com.app.task_me.custom_view.ShakingCardView |
||||
android:id="@+id/cardAnswer" |
||||
android:layout_width="55dp" |
||||
android:layout_height="55dp" |
||||
android:layout_marginEnd="36dp" |
||||
android:layout_marginBottom="86dp" |
||||
app:cardBackgroundColor="@color/color_green" |
||||
app:cardCornerRadius="27dp" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@id/cardCancel" |
||||
app:layout_constraintHorizontal_bias="0.14" |
||||
app:layout_constraintStart_toStartOf="parent"> |
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:padding="10dp" |
||||
app:srcCompat="@drawable/ic_answer" /> |
||||
</com.app.task_me.custom_view.ShakingCardView> |
||||
|
||||
<com.app.task_me.custom_view.ShakingCardView |
||||
android:id="@+id/cardCancel" |
||||
android:layout_width="55dp" |
||||
android:layout_height="55dp" |
||||
android:layout_marginStart="36dp" |
||||
android:layout_marginBottom="86dp" |
||||
app:cardBackgroundColor="@color/color_red" |
||||
app:cardCornerRadius="27dp" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toEndOf="@id/cardAnswer"> |
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:padding="10dp" |
||||
app:srcCompat="@drawable/ic_cancel" /> |
||||
</com.app.task_me.custom_view.ShakingCardView> |
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView |
||||
android:id="@+id/tvIncoming" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginBottom="30dp" |
||||
android:text="@string/incoming_call" |
||||
android:textColor="@color/white" |
||||
android:textSize="25sp" |
||||
app:layout_constraintBottom_toTopOf="@id/cardCancel" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" /> |
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView |
||||
android:id="@+id/tvCaller" |
||||
android:layout_width="0dp" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginHorizontal="24dp" |
||||
android:layout_marginBottom="30dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:gravity="center" |
||||
android:textColor="@color/white" |
||||
android:textSize="30sp" |
||||
app:layout_constraintBottom_toTopOf="@id/tvIncoming" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
tools:text="Caller name" /> |
||||
|
||||
<com.google.android.material.card.MaterialCardView |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
app:cardBackgroundColor="#454545" |
||||
app:cardCornerRadius="100dp" |
||||
app:layout_constraintBottom_toTopOf="@id/tvCaller" |
||||
app:layout_constraintDimensionRatio="H, 1:1" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
app:layout_constraintWidth_percent="0.45"> |
||||
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView |
||||
android:id="@+id/tvCallerLetter" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:gravity="center" |
||||
android:textColor="@color/white" |
||||
android:textSize="72sp" |
||||
android:textStyle="bold" |
||||
tools:text="C" /> |
||||
<androidx.appcompat.widget.AppCompatImageView |
||||
android:id="@+id/ivPhoto" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:scaleType="fitXY" |
||||
android:visibility="gone" /> |
||||
|
||||
</com.google.android.material.card.MaterialCardView> |
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:background="@drawable/rounded_background" |
||||
android:padding="16dp"> |
||||
<TextView |
||||
android:id="@+id/call_text" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:text="Вхідний дзвінок" |
||||
android:textColor="@android:color/white" |
||||
android:textSize="18sp" |
||||
android:layout_alignParentStart="true"/> |
||||
<ImageButton |
||||
android:id="@+id/decline_button" |
||||
android:layout_width="40dp" |
||||
android:layout_height="40dp" |
||||
android:layout_alignParentEnd="true" |
||||
android:background="@android:color/transparent" |
||||
android:src="@drawable/ic_decline_call" |
||||
android:layout_marginStart="8dp"/> |
||||
<ImageButton |
||||
android:id="@+id/accept_button" |
||||
android:layout_width="40dp" |
||||
android:layout_height="40dp" |
||||
android:layout_toStartOf="@id/decline_button" |
||||
android:background="@android:color/transparent" |
||||
android:src="@drawable/ic_accept_call"/> |
||||
</RelativeLayout> |
@ -1,13 +1,13 @@
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:background="#fff" |
||||
android:orientation="vertical"> |
||||
|
||||
<ImageView |
||||
android:layout_width="237dp" |
||||
android:layout_height="93dp" |
||||
android:layout_centerInParent="true" |
||||
android:src="@drawable/logo" /> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:background="#fff" |
||||
android:orientation="vertical"> |
||||
|
||||
<ImageView |
||||
android:layout_width="237dp" |
||||
android:layout_height="93dp" |
||||
android:layout_centerInParent="true" |
||||
android:src="@drawable/logo" /> |
||||
</RelativeLayout> |
@ -0,0 +1,128 @@
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:background="@drawable/bg_notification" |
||||
android:orientation="vertical" |
||||
android:padding="24dp"> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal"> |
||||
|
||||
<FrameLayout |
||||
android:id="@+id/fPhoto" |
||||
android:layout_width="60dp" |
||||
android:layout_height="60dp" |
||||
android:background="@drawable/bg_notification_cirle"> |
||||
|
||||
<ImageView |
||||
android:id="@+id/ivPhoto" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:scaleType="fitXY" |
||||
android:visibility="gone" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvLetter" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center" |
||||
android:textColor="#FFFFFF" |
||||
android:textSize="22sp" |
||||
tools:text="I" /> |
||||
|
||||
<FrameLayout |
||||
android:layout_width="20dp" |
||||
android:layout_height="20dp" |
||||
android:layout_gravity="end|bottom" |
||||
android:background="@drawable/bg_notification_call_icon"> |
||||
|
||||
<ImageView |
||||
android:layout_width="10dp" |
||||
android:layout_height="10dp" |
||||
android:layout_gravity="center" |
||||
android:src="@drawable/ic_notification_phone" /> |
||||
</FrameLayout> |
||||
</FrameLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center_vertical" |
||||
android:layout_marginStart="24dp" |
||||
android:orientation="vertical"> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvCaller" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:maxLines="1" |
||||
android:textColor="#000000" |
||||
android:textSize="18sp" |
||||
tools:text="Caller username" /> |
||||
|
||||
<TextView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:text="@string/incoming_call" |
||||
android:textColor="#000000" /> |
||||
</LinearLayout> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="24dp"> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/btnCancel" |
||||
android:layout_width="135dp" |
||||
android:layout_height="38dp" |
||||
android:background="@drawable/bg_notification_cancel" |
||||
android:gravity="center"> |
||||
|
||||
<ImageView |
||||
android:layout_width="20dp" |
||||
android:layout_height="20dp" |
||||
android:layout_marginTop="1dp" |
||||
android:src="@drawable/ic_notification_cancel" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="6dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:text="@string/cancel" |
||||
android:textColor="@color/white" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/btnAnswer" |
||||
android:layout_width="135dp" |
||||
android:layout_height="38dp" |
||||
android:layout_marginStart="16dp" |
||||
android:background="@drawable/bg_notification_answer" |
||||
android:gravity="center"> |
||||
|
||||
<ImageView |
||||
android:layout_width="20dp" |
||||
android:layout_height="20dp" |
||||
android:src="@drawable/ic_notification_answer" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="6dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:text="@string/answer" |
||||
android:textColor="@color/white" /> |
||||
</LinearLayout> |
||||
</LinearLayout> |
||||
|
||||
|
||||
</LinearLayout> |
@ -0,0 +1,135 @@
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="86dp" |
||||
android:background="@drawable/bg_notification" |
||||
android:orientation="vertical" |
||||
android:paddingTop="7dp"> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="16dp" |
||||
android:gravity="center_vertical" |
||||
android:orientation="horizontal"> |
||||
|
||||
<FrameLayout |
||||
android:id="@+id/fPhoto" |
||||
android:layout_width="30dp" |
||||
android:layout_height="30dp" |
||||
android:background="@drawable/bg_notification_cirle"> |
||||
|
||||
<ImageView |
||||
android:id="@+id/ivPhoto" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:scaleType="fitXY" |
||||
android:visibility="gone" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvLetter" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center" |
||||
android:textColor="#FFFFFF" |
||||
android:textSize="14sp" |
||||
tools:text="I" /> |
||||
|
||||
<FrameLayout |
||||
android:layout_width="10dp" |
||||
android:layout_height="10dp" |
||||
android:layout_gravity="end|bottom" |
||||
android:background="@drawable/bg_notification_call_icon"> |
||||
|
||||
<ImageView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:layout_gravity="center" |
||||
android:padding="2dp" |
||||
android:src="@drawable/ic_notification_phone" /> |
||||
</FrameLayout> |
||||
</FrameLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center_vertical" |
||||
android:layout_marginStart="24dp" |
||||
android:orientation="vertical"> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvCaller" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:maxLines="1" |
||||
android:textColor="#000000" |
||||
android:textSize="13sp" |
||||
tools:text="Caller username" /> |
||||
|
||||
<TextView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="2dp" |
||||
android:text="@string/incoming_call" |
||||
android:textColor="#000000" |
||||
android:textSize="11sp" /> |
||||
</LinearLayout> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="16dp" |
||||
android:layout_marginTop="8dp"> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/btnCancel" |
||||
android:layout_width="120dp" |
||||
android:layout_height="30dp" |
||||
android:background="@drawable/bg_notification_cancel" |
||||
android:gravity="center"> |
||||
|
||||
<ImageView |
||||
android:layout_width="20dp" |
||||
android:layout_height="20dp" |
||||
android:layout_marginTop="1dp" |
||||
android:src="@drawable/ic_notification_cancel" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="6dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textSize="12sp" |
||||
android:text="@string/cancel" |
||||
android:textColor="@color/white" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/btnAnswer" |
||||
android:layout_width="120dp" |
||||
android:layout_height="30dp" |
||||
android:layout_marginStart="16dp" |
||||
android:background="@drawable/bg_notification_answer" |
||||
android:gravity="center"> |
||||
|
||||
<ImageView |
||||
android:layout_width="20dp" |
||||
android:layout_height="20dp" |
||||
android:src="@drawable/ic_notification_answer" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="6dp" |
||||
android:textSize="12sp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:text="@string/answer" |
||||
android:textColor="@color/white" /> |
||||
</LinearLayout> |
||||
</LinearLayout> |
||||
|
||||
|
||||
</LinearLayout> |
@ -0,0 +1,81 @@
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:tools="http://schemas.android.com/tools" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="48dp" |
||||
android:background="@drawable/bg_notification" |
||||
android:orientation="vertical" |
||||
android:gravity="center_vertical" |
||||
android:paddingHorizontal="16dp"> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:gravity="center_vertical" |
||||
android:orientation="horizontal"> |
||||
|
||||
<FrameLayout |
||||
android:id="@+id/fPhoto" |
||||
android:layout_width="40dp" |
||||
android:layout_height="40dp" |
||||
android:background="@drawable/bg_notification_cirle"> |
||||
|
||||
<ImageView |
||||
android:id="@+id/ivPhoto" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:scaleType="fitXY" |
||||
android:visibility="gone" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvLetter" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center" |
||||
android:textColor="#FFFFFF" |
||||
android:textSize="18sp" |
||||
tools:text="I" /> |
||||
|
||||
<FrameLayout |
||||
android:layout_width="15dp" |
||||
android:layout_height="15dp" |
||||
android:layout_gravity="end|bottom" |
||||
android:background="@drawable/bg_notification_call_icon"> |
||||
|
||||
<ImageView |
||||
android:layout_width="7dp" |
||||
android:layout_height="7dp" |
||||
android:layout_gravity="center" |
||||
android:src="@drawable/ic_notification_phone" /> |
||||
</FrameLayout> |
||||
</FrameLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center_vertical" |
||||
android:layout_marginStart="24dp" |
||||
android:orientation="vertical"> |
||||
|
||||
<TextView |
||||
android:id="@+id/tvCaller" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:maxLines="1" |
||||
android:textColor="#000000" |
||||
android:textSize="15sp" |
||||
tools:text="Caller username" /> |
||||
|
||||
<TextView |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="2dp" |
||||
android:text="@string/incoming_call" |
||||
android:textColor="#000000" |
||||
android:textSize="11sp" /> |
||||
</LinearLayout> |
||||
</LinearLayout> |
||||
|
||||
|
||||
</LinearLayout> |
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@mipmap/ic_launcher_background"/> |
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@mipmap/ic_launcher_background"/> |
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
||||
</adaptive-icon> |
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@mipmap/ic_launcher_background"/> |
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@mipmap/ic_launcher_background"/> |
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<background android:drawable="@color/iconBackground"/> |
||||
<foreground android:drawable="@mipmap/ic_foreground"/> |
||||
</adaptive-icon> |
@ -1,3 +1,3 @@
@@ -1,3 +1,3 @@
|
||||
<resources> |
||||
<color name ='iconBackground'>#FFFFFF</color> |
||||
</resources> |
||||
<resources> |
||||
<color name ='iconBackground'>#FFFFFF</color> |
||||
</resources> |
||||
|
@ -1,4 +1,16 @@
@@ -1,4 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<resources> |
||||
<color name="primary_dark">#DE253B</color> |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<resources> |
||||
<color name="primary_dark">#DE253B</color> |
||||
|
||||
<color name="purple_200">#FFBB86FC</color> |
||||
<color name="purple_500">#FF6200EE</color> |
||||
<color name="purple_700">#FF3700B3</color> |
||||
<color name="teal_200">#FF03DAC5</color> |
||||
<color name="teal_700">#FF018786</color> |
||||
<color name="black">#FF000000</color> |
||||
<color name="white">#FFFFFFFF</color> |
||||
|
||||
|
||||
<color name="color_green">#00CC5E</color> |
||||
<color name="color_red">#DE253B</color> |
||||
</resources> |
@ -1,3 +1,9 @@
@@ -1,3 +1,9 @@
|
||||
<resources> |
||||
<string name="app_name">taskme</string> |
||||
</resources> |
||||
<resources> |
||||
<string name="app_name">taskme</string> |
||||
|
||||
|
||||
<string name="notification_channel_title">Вхідні дзвінки</string> |
||||
<string name="incoming_call">Вхідний дзвінок</string> |
||||
<string name="answer">Відповісти</string> |
||||
<string name="cancel">Відхилити</string> |
||||
</resources> |
||||
|
@ -1,9 +1,29 @@
@@ -1,9 +1,29 @@
|
||||
<resources> |
||||
|
||||
<!-- Base application theme. --> |
||||
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> |
||||
<!-- Customize your theme here. --> |
||||
<item name="android:textColor">#000000</item> |
||||
</style> |
||||
|
||||
</resources> |
||||
<resources> |
||||
|
||||
<!-- Base application theme. --> |
||||
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> |
||||
<!-- Customize your theme here. --> |
||||
<item name="android:textColor">#000000</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.TaskMe" parent="Theme.MaterialComponents.DayNight.NoActionBar"> |
||||
<!-- Primary brand color. --> |
||||
<item name="colorPrimary">@color/purple_500</item> |
||||
<item name="colorPrimaryVariant">@color/purple_700</item> |
||||
<item name="colorOnPrimary">@color/white</item> |
||||
<!-- Secondary brand color. --> |
||||
<item name="colorSecondary">@color/teal_200</item> |
||||
<item name="colorSecondaryVariant">@color/teal_700</item> |
||||
<item name="colorOnSecondary">@color/black</item> |
||||
<!-- Status bar color. --> |
||||
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item> |
||||
<item name="android:windowTranslucentStatus">true</item> |
||||
<item name="android:windowTranslucentNavigation">true</item> |
||||
<!-- Customize your theme here. --> |
||||
</style> |
||||
|
||||
<style name="NoAnimation"> |
||||
<item name="android:windowEnterAnimation">@null</item> |
||||
<item name="android:windowExitAnimation">@null</item> |
||||
</style> |
||||
</resources> |
||||
|
@ -1,20 +1,20 @@
@@ -1,20 +1,20 @@
|
||||
/** |
||||
* Copyright (c) Meta Platforms, Inc. and affiliates. |
||||
* |
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root |
||||
* directory of this source tree. |
||||
*/ |
||||
package com.app.task_me; |
||||
|
||||
import android.content.Context; |
||||
import com.facebook.react.ReactInstanceManager; |
||||
|
||||
/** |
||||
* Class responsible of loading Flipper inside your React Native application. This is the release |
||||
* flavor of it so it's empty as we don't want to load Flipper. |
||||
*/ |
||||
public class ReactNativeFlipper { |
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { |
||||
// Do nothing as we don't want to initialize Flipper on Release.
|
||||
} |
||||
} |
||||
/** |
||||
* Copyright (c) Meta Platforms, Inc. and affiliates. |
||||
* |
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root |
||||
* directory of this source tree. |
||||
*/ |
||||
package com.app.task_me; |
||||
|
||||
import android.content.Context; |
||||
import com.facebook.react.ReactInstanceManager; |
||||
|
||||
/** |
||||
* Class responsible of loading Flipper inside your React Native application. This is the release |
||||
* flavor of it so it's empty as we don't want to load Flipper. |
||||
*/ |
||||
public class ReactNativeFlipper { |
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { |
||||
// Do nothing as we don't want to initialize Flipper on Release.
|
||||
} |
||||
} |
||||
|
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
|
||||
auth.token=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 |
||||
|
||||
defaults.org=jetup-digital |
||||
defaults.project=application-taskme |
||||
|
||||
defaults.url=https://sentry.io/ |
@ -1,30 +0,0 @@
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>NSExtension</key> |
||||
<dict> |
||||
<key>NSExtensionAttributes</key> |
||||
<dict> |
||||
<key>PHSupportedMediaTypes</key> |
||||
<array> |
||||
<string>Video</string> |
||||
<string>Image</string> |
||||
</array> |
||||
<key>NSExtensionActivationRule</key> |
||||
<dict> |
||||
<key>NSExtensionActivationSupportsImageWithMaxCount</key> |
||||
<integer>100</integer> |
||||
<key>NSExtensionActivationSupportsMovieWithMaxCount</key> |
||||
<integer>100</integer> |
||||
<key>NSExtensionActivationSupportsFileWithMaxCount</key> |
||||
<integer>100</integer> |
||||
</dict> |
||||
</dict> |
||||
<key>NSExtensionMainStoryboard</key> |
||||
<string>MainInterface</string> |
||||
<key>NSExtensionPointIdentifier</key> |
||||
<string>com.apple.share-services</string> |
||||
</dict> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>NSExtension</key> |
||||
<dict> |
||||
<key>NSExtensionAttributes</key> |
||||
<dict> |
||||
<key>NSExtensionActivationRule</key> |
||||
<dict> |
||||
<key>NSExtensionActivationSupportsFileWithMaxCount</key> |
||||
<integer>100</integer> |
||||
<key>NSExtensionActivationSupportsImageWithMaxCount</key> |
||||
<integer>100</integer> |
||||
<key>NSExtensionActivationSupportsMovieWithMaxCount</key> |
||||
<integer>100</integer> |
||||
<key>NSExtensionActivationSupportsText</key> |
||||
<true/> |
||||
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key> |
||||
<integer>1</integer> |
||||
</dict> |
||||
<key>PHSupportedMediaTypes</key> |
||||
<array> |
||||
<string>Video</string> |
||||
<string>Image</string> |
||||
</array> |
||||
</dict> |
||||
<key>NSExtensionMainStoryboard</key> |
||||
<string>MainInterface</string> |
||||
<key>NSExtensionPointIdentifier</key> |
||||
<string>com.apple.share-services</string> |
||||
</dict> |
||||
</dict> |
||||
</plist> |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue