Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d1734b9f9e |
@@ -1,9 +0,0 @@
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/workspace.xml
|
||||
/.idea/libraries
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
Generated
-3
@@ -1,3 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AndroidProjectSystem">
|
||||
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
-14
File diff suppressed because one or more lines are too long
Generated
-41
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AppInsightsSettings">
|
||||
<option name="selectedTabId" value="Firebase Crashlytics" />
|
||||
<option name="tabSettings">
|
||||
<map>
|
||||
<entry key="Android Vitals">
|
||||
<value>
|
||||
<InsightsFilterSettings>
|
||||
<option name="connection">
|
||||
<ConnectionSetting>
|
||||
<option name="appId" value="com.cpm.abbott" />
|
||||
</ConnectionSetting>
|
||||
</option>
|
||||
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||
<option name="timeIntervalDays" value="SEVEN_DAYS" />
|
||||
<option name="visibilityType" value="ALL" />
|
||||
</InsightsFilterSettings>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="Firebase Crashlytics">
|
||||
<value>
|
||||
<InsightsFilterSettings>
|
||||
<option name="connection">
|
||||
<ConnectionSetting>
|
||||
<option name="appId" value="cpm.com.gskmtorange" />
|
||||
<option name="mobileSdkAppId" value="1:310038602345:android:dab7010946bd056dd1f8f8" />
|
||||
<option name="projectId" value="gskorangev2" />
|
||||
<option name="projectNumber" value="310038602345" />
|
||||
</ConnectionSetting>
|
||||
</option>
|
||||
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||
<option name="timeIntervalDays" value="THIRTY_DAYS" />
|
||||
<option name="visibilityType" value="ALL" />
|
||||
</InsightsFilterSettings>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-32
@@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="WizardSettings">
|
||||
<option name="children">
|
||||
<map>
|
||||
<entry key="vectorWizard">
|
||||
<value>
|
||||
<PersistentState>
|
||||
<option name="children">
|
||||
<map>
|
||||
<entry key="vectorAssetStep">
|
||||
<value>
|
||||
<PersistentState>
|
||||
<option name="values">
|
||||
<map>
|
||||
<entry key="assetSourceType" value="FILE" />
|
||||
<entry key="outputName" value="social_media" />
|
||||
<entry key="sourceFile" value="C:\Users\ravik\Downloads\social-media (1).svg" />
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-1870
File diff suppressed because it is too large
Load Diff
Generated
-6
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="17" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
-10
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<value>
|
||||
<entry key="GSKMTOrange">
|
||||
<State />
|
||||
</entry>
|
||||
</value>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-18
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetSelector">
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="GSKMTOrange">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2026-04-28T11:27:59.892971400Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=HA1712TP" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
<DialogSelection />
|
||||
</SelectionState>
|
||||
</selectionStates>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-13
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DeviceTable">
|
||||
<option name="columnSorters">
|
||||
<list>
|
||||
<ColumnSorterState>
|
||||
<option name="column" value="Name" />
|
||||
<option name="order" value="ASCENDING" />
|
||||
</ColumnSorterState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-20
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="jbr-21" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/GSKMTOrange" />
|
||||
<option value="$PROJECT_DIR$/library" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-30
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="BintrayJCenter" />
|
||||
<option name="name" value="BintrayJCenter" />
|
||||
<option name="url" value="https://jcenter.bintray.com/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven" />
|
||||
<option name="name" value="maven" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="Google" />
|
||||
<option name="name" value="Google" />
|
||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.9.22" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
-10
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectMigrations">
|
||||
<option name="MigrateToGradleLocalJavaHome">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-59
@@ -1,59 +0,0 @@
|
||||
<project version="4">
|
||||
<component name="DesignSurface">
|
||||
<option name="filePathToZoomLevelMap">
|
||||
<map>
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml" value="0.11277173913043478" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_login.xml" value="0.25" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml" value="0.115625" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_msl__availability_stock_facing.xml" value="0.11197916666666667" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_order_confirm.xml" value="0.2" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_order_status_detail.xml" value="0.22" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_order_taking.xml" value="0.2" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_visit_type_status.xml" value="0.11875" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_daily_main_menu.xml" value="0.13697916666666668" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_msl__availability_stock_facing.xml" value="0.11197916666666667" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_order_status_detail.xml" value="0.17" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_order_taking.xml" value="0.11197916666666667" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_store_wise_performance.xml" value="0.11302083333333333" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/contentcatgoryadpterlayout.xml" value="0.10833333333333334" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/contentorderstatus.xml" value="0.16302083333333334" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/daily_main_menu_row.xml" value="0.15416666666666667" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml" value="0.1390625" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_msl_availability_stock_facing_child.xml" value="0.16" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_msl_availability_stock_facing_header.xml" value="0.2" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_order_received_status_child.xml" value="0.2" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_order_status_child.xml" value="0.17" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_order_taking.xml" value="0.128125" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/item_order_taking_child.xml" value="0.2" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/order_status_item_layout.xml" value="0.33" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/storelist.xml" value="0.11875" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/storelist_child.xml" value="0.159375" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/storelistfablayout.xml" value="0.11875" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/visitstatuslist.xml" value="0.11875" />
|
||||
<entry key="..\:/Jeevan_Sir_Projects/GSKORANGEV2-JORDANTTTTT/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/visittypelist_child.xml" value="0.159375" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_audit.xml" value="0.14990942028985507" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/activity_main.xml" value="0.20416666666666666" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/audit_question_list_item.xml" value="0.30676552363299353" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_audit.xml" value="0.14990942028985507" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/content_t2_pcompliance.xml" value="0.20416666666666666" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/t2p_sku_dialog_layout.xml" value="0.20416666666666666" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/layout/t2pbranddialoglayout.xml" value="0.20416666666666666" />
|
||||
<entry key="..\:/Upendra-Projects/GSKORANGEV2-JORDAN/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml" value="0.20416666666666666" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
<component name="VisualizationToolProject">
|
||||
<option name="state">
|
||||
<ProjectState>
|
||||
<option name="scale" value="0.097802734375" />
|
||||
</ProjectState>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-17
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="StudioBotProjectSettings">
|
||||
<option name="shareContext" value="OptedIn" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -1 +0,0 @@
|
||||
/build
|
||||
@@ -1,180 +0,0 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'org.jetbrains.kotlin.android'
|
||||
android {
|
||||
namespace("cpm.com.gskmtorange")
|
||||
compileSdk 36
|
||||
|
||||
lintOptions {
|
||||
checkReleaseBuilds false
|
||||
disable 'MissingTranslation'
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
|
||||
configurations {
|
||||
// all*.exclude module: 'okio'
|
||||
//all*.exclude group: 'com.squareup.okhttp3', module: 'okhttp'
|
||||
all*.exclude module: 'support-v4' // This removes all other versions of `support-v4` if gets duplicated from all the artifacts.
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
multiDexEnabled true
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
applicationId "cpm.com.gskmtorange"
|
||||
minSdkVersion 26
|
||||
targetSdk(34)
|
||||
|
||||
// For Lebanon
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
//For Egypt
|
||||
versionCode 39
|
||||
versionName "5.0"
|
||||
//For UAE
|
||||
/*versionCode 29
|
||||
versionName "4.1"*/
|
||||
//For Turkey
|
||||
/* versionCode 34
|
||||
versionName "4.6"*/
|
||||
//For Turkey
|
||||
/*versionCode 32
|
||||
versionName "4.4"*/
|
||||
//For KSA
|
||||
/*versionCode 28
|
||||
versionName "4.0"*/
|
||||
|
||||
// adding price facing
|
||||
/* versionCode 27
|
||||
versionName "3.8"*/
|
||||
//sa
|
||||
/* versionCode 28
|
||||
versionName "3.9"*/
|
||||
/* //Kenya
|
||||
versionCode 2
|
||||
versionName "1.1"*/
|
||||
//kenya-lite
|
||||
/* versionCode 2
|
||||
versionName "1.1"*/
|
||||
//nigeria
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
//For jordan
|
||||
/* versionCode 7
|
||||
versionName "1.6"*/
|
||||
//For Kuwait
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
//For Bahrain
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
//For QATAR
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
//For Libya
|
||||
/*versionCode 3
|
||||
versionName "1.2"*/
|
||||
//For Oman
|
||||
/*versionCode 1
|
||||
versionName "1.0"*/
|
||||
ndk {abiFilters "armeabi-v7a", "arm64-v8a"}
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
config {
|
||||
keyAlias 'hp'
|
||||
keyPassword 'android'
|
||||
storeFile file('D:\\jeevanp_cpm_projects\\keystore\\hp.dat')
|
||||
storePassword 'android'
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
debuggable true
|
||||
signingConfig signingConfigs.config
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-camera-lib.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
firebaseCrashlytics {
|
||||
nativeSymbolUploadEnabled true
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
exclude 'META-INF/LICENSE'
|
||||
exclude 'META-INF/NOTICE'
|
||||
exclude 'META-INF/gradle/incremental.annotation.processors'
|
||||
exclude 'META-INF/AL2.0'
|
||||
exclude 'META-INF/LGPL2.1'
|
||||
}
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.activity:activity-ktx:1.13.0'
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation files('libs/ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar')
|
||||
// implementation files('libs/ksoap2-android-assembly-3.6.4.jar')
|
||||
// implementation files('libs/ksoap2-android-3.3.0.jar')
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.12.0'
|
||||
implementation project(path: ':library')
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'androidx.activity:activity:1.10.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.7.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.mockito:mockito-core:4.11.0'
|
||||
testImplementation 'org.mockito:mockito-android:4.11.0'
|
||||
testImplementation 'org.robolectric:robolectric:4.10.3'
|
||||
implementation "androidx.navigation:navigation-fragment-ktx:2.9.0"
|
||||
androidTestImplementation "androidx.test:core:1.6.1"
|
||||
androidTestImplementation "androidx.test:espresso:espresso-core:3.5.1"
|
||||
androidTestImplementation "androidx.test.ext:junit:1.2.1"
|
||||
androidTestImplementation "androidx.test:annotation:1.0.1"
|
||||
implementation 'com.google.code.gson:gson:2.11.0'
|
||||
implementation 'com.github.bumptech.glide:glide:4.16.0'
|
||||
|
||||
implementation platform('com.google.firebase:firebase-bom:33.14.0')
|
||||
implementation 'com.google.firebase:firebase-crashlytics'
|
||||
implementation 'com.google.firebase:firebase-messaging'
|
||||
implementation 'com.google.android.gms:play-services-location:21.3.0'
|
||||
implementation 'com.google.android.gms:play-services-maps:19.2.0'
|
||||
implementation 'com.google.firebase:firebase-analytics:22.4.0'
|
||||
implementation 'com.google.firebase:firebase-appindexing:20.0.0'
|
||||
// implementation 'com.google.firebase:firebase-crashlytics:19.4.3'
|
||||
implementation 'com.google.firebase:firebase-auth:23.2.1'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
|
||||
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.22"))
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
// Main SDK dependency
|
||||
// implementation("com.github.pratham-PDots:camera_lib:1.5.1.1")
|
||||
// implementation("com.github.pratham-PDots:camera_lib:1.5.3.2")
|
||||
// implementation("com.github.pratham-PDots:camera_lib:1.5.4.5")
|
||||
//latest
|
||||
implementation("com.github.pratham-PDots:camera_lib:1.5.4.9")
|
||||
implementation 'com.github.miteshpithadiya:SearchableSpinner:master'
|
||||
implementation "androidx.core:core-splashscreen:1.0.1"
|
||||
implementation "androidx.media3:media3-exoplayer:1.3.1"
|
||||
implementation "androidx.media3:media3-ui:1.3.1"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "310038602345",
|
||||
"project_id": "gskorangev2",
|
||||
"storage_bucket": "gskorangev2.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:310038602345:android:dab7010946bd056dd1f8f8",
|
||||
"android_client_info": {
|
||||
"package_name": "cpm.com.gskmtorange"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "310038602345-ctmpg90bjppcgqam7jt4j3tn3e3hqtvr.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyDg2pgsaB0sWKD9pAF7mb9DSk8ec5rX7uI"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "310038602345-ctmpg90bjppcgqam7jt4j3tn3e3hqtvr.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in E:\adt-bundle-windows-x86_64-20140702\sdk/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
-keep class com.github.pratham_pdots.camera_lib. { *; }
|
||||
-keep class com.github.pratham_pdots. { *; }
|
||||
-dontwarn com.github.pratham_pdots.**
|
||||
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "cpm.com.gskmtorange",
|
||||
"variantName": "release",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 39,
|
||||
"versionName": "5.0",
|
||||
"outputFile": "GSKMTOrange-release.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File",
|
||||
"minSdkVersionForDexing": 26
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
import android.content.Context;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
/**
|
||||
* Instrumentation test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
assertEquals("cpm.com.gskmtorange", appContext.getPackageName());
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
<resources>
|
||||
<!--
|
||||
TODO: Before you run your application, you need a Google Maps API key.
|
||||
|
||||
To get one, follow this link, follow the directions and press "Create" at the end:
|
||||
|
||||
https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=F4:46:9C:04:7D:FD:3B:33:B1:A3:4B:8C:38:BD:77:0C:D4:36:98:E5%3Bcpm.com.gskmtorange
|
||||
|
||||
You can also add your credentials to an existing key, using these values:
|
||||
|
||||
Package name:
|
||||
F4:46:9C:04:7D:FD:3B:33:B1:A3:4B:8C:38:BD:77:0C:D4:36:98:E5
|
||||
|
||||
SHA-1 certificate fingerprint:
|
||||
F4:46:9C:04:7D:FD:3B:33:B1:A3:4B:8C:38:BD:77:0C:D4:36:98:E5
|
||||
|
||||
Alternatively, follow the directions here:
|
||||
https://developers.google.com/maps/documentation/android/start#get-key
|
||||
|
||||
Once you have your key (it starts with "AIza"), replace the "google_maps_key"
|
||||
string in this file.
|
||||
-->
|
||||
<!--<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIzaSyDdgvyAY0_pb-k7PLPJoG6wR-KN0xnhkRE</string>-->
|
||||
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIzaSyCs2VZqLl4OgStAraUHr8012cUc7vf3Uo8</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,566 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="cpm.com.gskmtorange">
|
||||
<!-- To auto-complete the email text field in the login form with the user's emails -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.READ_PROFILE" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
tools:ignore="ScopedStorage" /> <!-- Devices running Android 13 (API level 33) or higher -->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<!--
|
||||
To handle the reselection within the app on devices running Android 14
|
||||
or higher if your app targets Android 14 (API level 34) or higher.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
|
||||
<uses-permission android:name="com.android.providers.media.MediaProvider" />
|
||||
<uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera.any"
|
||||
android:required="true" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera.autofocus"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:largeHeap="true"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:supportsRtl="false"
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:replace="android:supportsRtl">
|
||||
<activity
|
||||
android:name=".dailyentry.BannerActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".dailyentry.PD_Realtime_Report_Detail"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.PD_Realtime_Report"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.WebViewActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.PD_Pog_Activity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.PDVisibilityActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".Paralleldots.PdJavaImageActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".dailyentry.PDimageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.StockEntryActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.VisitTypeStatusActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="Ad hoc - Visit Type"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.OrderStatusDetailActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.OrderConfirmActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.OrderTakingActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.NewStockDataActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_new_stock_data"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.CounterfeitIndicatorWebActivity"
|
||||
android:label="@string/title_activity_counterfeit_indicator_web"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.StockPricingActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_stock_pricing"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".pharma_stores.PharmaActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_paharma"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.StockActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/stock"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.CounterfeitProductsActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_counterfeit_products"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".password.MPinActivity"
|
||||
android:label="@string/title_activity_mpin"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".password.ChangePasswordActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_change_password"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".SplashScreenActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:exported="true"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".LoginActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_login"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/main_menu_activity_name"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".autoupdate.AutoUpdateActivity"
|
||||
android:screenOrientation="portrait"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".SelectLanguageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_select_language"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".download.DownloadActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".GeoTag.GeoTagStoreList"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_list"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.StoreListActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_list"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.StoreimageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_image"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".GeoTag.GeoTagActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_geotag"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<!--
|
||||
<meta-data
|
||||
android:name="com.google.android.maps.v2.API_KEY"
|
||||
android:value="AIzaSyD02po19go2JMhXJeAnKDiZSiNloPsWqzI" />
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.version"
|
||||
android:value="@integer/google_play_services_version" />
|
||||
-->
|
||||
<activity
|
||||
android:name=".dailyentry.T2PComplianceActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> <!-- Gagan Start Declaration -->
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.CategoryListActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.CategoryWisePerformanceActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.DailyDataMenuActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.MSL_AvailabilityActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.Stock_FacingActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.PromoComplianceActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.StoreWisePerformanceActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> <!-- Gagan End Declaration -->
|
||||
<activity
|
||||
android:name=".dailyentry.NonWorkingReason"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_Non_Work"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.AdditionalVisibility"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_Additional_visibility"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".upload.UploadActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_upload"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.SettingsActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_settings"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.CheckoutActivity"
|
||||
android:label="@string/title_activity_checkout"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.ServiceActivity"
|
||||
android:label="@string/title_activity_service"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".upload.PreviousDataUploadActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_upload"
|
||||
android:screenOrientation="portrait"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.T2pBrand_Avaibility"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_t2p_brand__avaibility"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.StockFacing_PlanogramTrackerActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_stock_facing__planogram_tracker"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.CategoryPicture"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_category_picture"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.StoreCheckoutImageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_checkout_image"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".gsk_dailyentry.MSL_Availability_StockFacingActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.FutureJCPActivity"
|
||||
android:label=""
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.CreateSelfActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_create_self"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.NoCameraActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_create_self"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.PlanogramPDFActivity"
|
||||
android:label="@string/category_performance_PLANOGRAM"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".dailyentry.StockDataActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_stock_data"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
<activity
|
||||
android:name=".dailyentry.AuditActivity"
|
||||
android:label="@string/audit"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
|
||||
|
||||
<service
|
||||
android:name=".service.FCMNotificationService"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<activity
|
||||
android:name=".dailyentry.POGQuestionsActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_pogquestions"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<!--
|
||||
The API key for Google Maps-based APIs is defined as a string resource.
|
||||
(See the file "res/values/google_maps_api.xml").
|
||||
Note that the API key is linked to the encryption key used to sign the APK.
|
||||
You need a different API key for each encryption key, including the release key that is used to
|
||||
sign the APK for publishing.
|
||||
You can define the keys for the debug and release targets in src/debug/ and src/release/.
|
||||
-->
|
||||
<!--
|
||||
<meta-data
|
||||
android:name="com.google.android.geo.API_KEY"
|
||||
android:value="@string/google_maps_key" />
|
||||
-->
|
||||
<meta-data
|
||||
android:name="com.google.android.geo.API_KEY"
|
||||
android:value="@string/google_maps_key" />
|
||||
|
||||
<activity
|
||||
android:name=".storeinmap.StoreListMapActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_list_map"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".storeinmap.StoreListRouteActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_list_route"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".storeinmap.StoreRouteActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_store_route"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".dailyentry.MessageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_message"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".dailyentry.ConversationActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_conversation"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".dailyentry.CoachingVisitActivity"
|
||||
android:label="@string/title_activity_coaching_visit"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".dailyentry.CoachingVisitStoreActivity"
|
||||
android:label="@string/title_activity_coaching_visit_store"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".dailyentry.DeliveryCallActivity"
|
||||
android:label="@string/delivery_call"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".dailyentry.DeliveryCallAddStoreActivity"
|
||||
android:label="@string/delivery_call"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".dailyentry.AdditionalPromoSKUwiseActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/title_activity_additional_promo_skuwise"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".dailyentry.CompetitionPromoActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||
android:label="@string/competition_promotion"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/provider_paths" />
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
Binary file not shown.
@@ -1,60 +0,0 @@
|
||||
{
|
||||
"Mer_NoticeBoard": [
|
||||
{
|
||||
"NoticeBoardId": 1,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/Parinaam\/BM_th1.png",
|
||||
"NoticeLink_FullPage": "https:\/\/dle.parinaam.in\/testdb\/share3.html?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "html-webview"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 4,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/video.png",
|
||||
"NoticeLink_FullPage": "https:\/\/dle.parinaam.in\/Trainings\/Data_security_video-final_eng.mp4?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "video"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 5,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/image.png",
|
||||
"NoticeLink_FullPage": "https:\/\/dle.parinaam.in\/Trainings\/datasec_training_th.png?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "image"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 6,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/html-webview.png",
|
||||
"NoticeLink_FullPage": "https:\/\/dle.parinaam.in\/testdb\/image.html?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "html-webview"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 7,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/html-browser.png",
|
||||
"NoticeLink_FullPage": "https:\/\/cd.parinaam.in?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "html-webbrowser"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 8,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/Frame.png",
|
||||
"NoticeLink_FullPage": "https:\/\/dle.parinaam.in\/testdb\/share1.html?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "html-webview"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 9,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/deeplink.png",
|
||||
"NoticeLink_FullPage": "reports?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "deeplink"
|
||||
},
|
||||
{
|
||||
"NoticeBoardId": 10,
|
||||
"NoticThumnail_Path": "https:\/\/bigm1.parinaam.in\/notice\/ThumbnailImages\/",
|
||||
"NoticeLink_Thumbnail": "https:\/\/dle.parinaam.in\/app\/Content\/Test\/contact.png",
|
||||
"NoticeLink_FullPage": "{\"Name\":\"CPMHelpline\",\"Label\":\"Mobile\",\"Value\":\"9898989898\"}?e=CPD03388&p=58678&en=test%20mer",
|
||||
"FullPageTarget": "contact"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 86 KiB |
@@ -1,46 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class AppUtils {
|
||||
public static File getInternalDirectory(Context context, String folderName) {
|
||||
File dir = context.getExternalFilesDir("");
|
||||
File file = new File(dir, folderName);
|
||||
if (!file.exists()) {
|
||||
file.mkdirs();
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
public static File getFile(Context context, String fileName, String folderName) {
|
||||
File dir = getInternalDirectory(context, folderName);
|
||||
if (fileName == null || fileName.isEmpty()) {
|
||||
return dir;
|
||||
} else {
|
||||
return new File(dir, fileName);
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveByteArrayToFile(byte[] byteArray, String fileName) throws IOException {
|
||||
try (FileOutputStream fileOutputStream = new FileOutputStream(fileName)) {
|
||||
fileOutputStream.write(byteArray);
|
||||
}
|
||||
}
|
||||
public static void clearMyFiles(Context activity, String folderName) {
|
||||
File[] files = getInternalDirectory(activity, folderName).listFiles();
|
||||
if (files != null) {
|
||||
for (File file : files) {
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static File getExterDir(Context context) {
|
||||
return context.getExternalFilesDir("");
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,266 +0,0 @@
|
||||
package cpm.com.gskmtorange.GeoTag;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import cpm.com.gskmtorange.Database.GSKOrangeDB;
|
||||
import cpm.com.gskmtorange.GetterSetter.StoreBean;
|
||||
import cpm.com.gskmtorange.R;
|
||||
import cpm.com.gskmtorange.constant.CommonFunctions;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
import cpm.com.gskmtorange.download.DownloadActivity;
|
||||
|
||||
/**
|
||||
* Created by ashishc on 27-12-2016.
|
||||
*/
|
||||
|
||||
public class GeoTagStoreList extends AppCompatActivity implements View.OnClickListener {
|
||||
|
||||
private SharedPreferences preferences;
|
||||
ArrayList<StoreBean> storelist = new ArrayList<StoreBean>();
|
||||
String date, visit_status;
|
||||
GSKOrangeDB db;
|
||||
// ListView list;
|
||||
ValueAdapter adapter;
|
||||
RecyclerView recyclerView;
|
||||
private SharedPreferences.Editor editor = null;
|
||||
LinearLayout parent_linear, nodata_linear;
|
||||
LinearLayout linearlay;
|
||||
FloatingActionButton fab;
|
||||
Toolbar toolbar;
|
||||
|
||||
private Context context;
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
// TODO Auto-generated method stub
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.geotagstorelistfab);
|
||||
//list = (ListView) findViewById(R.id.list_id);
|
||||
|
||||
recyclerView = (RecyclerView) findViewById(R.id.drawer_layout_recycle);
|
||||
linearlay = (LinearLayout) findViewById(R.id.no_data_lay);
|
||||
// nodata_linear = (LinearLayout) findViewById(R.id.no_data_lay);
|
||||
//parent_linear = (LinearLayout) findViewById(R.id.parent_linear);
|
||||
fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
context = this;
|
||||
toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
|
||||
CommonFunctions.updateLangResources(context, preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||
|
||||
date = preferences.getString(CommonString.KEY_DATE, null);
|
||||
visit_status = preferences.getString(CommonString.KEY_STOREVISITED_STATUS, "");
|
||||
|
||||
db = new GSKOrangeDB(GeoTagStoreList.this);
|
||||
db.open();
|
||||
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Intent in = new Intent(context, DownloadActivity.class);
|
||||
startActivity(in);
|
||||
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
storelist = db.getStoreData(date, CommonString.KEY_JOURNEY_PLAN);
|
||||
|
||||
if (storelist.size() > 0) {
|
||||
adapter = new ValueAdapter(context, storelist);
|
||||
recyclerView.setAdapter(adapter);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
} else {
|
||||
recyclerView.setVisibility(View.INVISIBLE);
|
||||
linearlay.setVisibility(View.VISIBLE);
|
||||
fab.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
// Handle action bar item clicks here. The action bar will
|
||||
// automatically handle clicks on the Home/Up button, so long
|
||||
// as you specify a parent activity in AndroidManifest.xml.
|
||||
int id = item.getItemId();
|
||||
|
||||
if (id == android.R.id.home) {
|
||||
|
||||
finish();
|
||||
|
||||
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
|
||||
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// TODO Auto-generated method stub
|
||||
/* Intent intent = new Intent(GeoTagStoreList.this, MainActivity.class);
|
||||
|
||||
startActivity(intent);*/
|
||||
GeoTagStoreList.this.finish();
|
||||
}
|
||||
|
||||
|
||||
public class ValueAdapter extends RecyclerView.Adapter<ValueAdapter.MyViewHolder> {
|
||||
|
||||
private LayoutInflater inflator;
|
||||
|
||||
List<StoreBean> data = Collections.emptyList();
|
||||
|
||||
public ValueAdapter(Context context, List<StoreBean> data) {
|
||||
|
||||
inflator = LayoutInflater.from(context);
|
||||
this.data = data;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ValueAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int i) {
|
||||
View view = inflator.inflate(R.layout.geotagstorelist, parent, false);
|
||||
|
||||
MyViewHolder holder = new MyViewHolder(view);
|
||||
return holder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(final ValueAdapter.MyViewHolder viewHolder, final int position) {
|
||||
final StoreBean current = data.get(position);
|
||||
//viewHolder.txt.setText(current.txt);
|
||||
|
||||
viewHolder.txt.setText(current.getSTORE_NAME());
|
||||
viewHolder.txt_storeAddress.setText(current.getADDRESS());
|
||||
|
||||
if (current.getGEO_TAG().equalsIgnoreCase("Y")) {
|
||||
viewHolder.imageview.setVisibility(View.VISIBLE);
|
||||
viewHolder.imageview.setBackgroundResource(R.mipmap.geopin);
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("D")) {
|
||||
viewHolder.imageview.setVisibility(View.VISIBLE);
|
||||
viewHolder.imageview.setBackgroundResource(R.mipmap.exclamation);
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("U")) {
|
||||
viewHolder.imageview.setVisibility(View.VISIBLE);
|
||||
viewHolder.imageview.setBackgroundResource(R.mipmap.tick);
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("P")) {
|
||||
viewHolder.imageview.setVisibility(View.VISIBLE);
|
||||
viewHolder.imageview.setBackgroundResource(R.mipmap.exclamation);
|
||||
} else {
|
||||
viewHolder.imageview.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
|
||||
viewHolder.relativelayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (current.getGEO_TAG().equalsIgnoreCase("Y")) {
|
||||
Snackbar.make(v, R.string.title_geo_tag_activity_geo_already_done, Snackbar.LENGTH_LONG).setAction("Action", null).show();
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("D")) {
|
||||
Snackbar.make(v, R.string.title_geo_tag_activity_geo_data, Snackbar.LENGTH_LONG).setAction("Action", null).show();
|
||||
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("U")) {
|
||||
Snackbar.make(v, R.string.title_geo_tag_activity_upload_data, Snackbar.LENGTH_LONG).setAction("Action", null).show();
|
||||
|
||||
} else if (current.getGEO_TAG().equalsIgnoreCase("P")) {
|
||||
Snackbar.make(v, R.string.title_geo_tag_activity_geo_data, Snackbar.LENGTH_LONG).setAction("Action", null).show();
|
||||
|
||||
} else {
|
||||
// PUT IN PREFERENCES
|
||||
editor = preferences.edit();
|
||||
editor.putString(CommonString.KEY_STORE_ID, current.getSTORE_ID());
|
||||
editor.putString(CommonString.KEY_STORE_NAME, current.getSTORE_NAME());
|
||||
editor.putString(CommonString.KEY_VISIT_DATE, current.getVISIT_DATE());
|
||||
editor.commit();
|
||||
|
||||
Intent in = new Intent(GeoTagStoreList.this, GeoTagActivity.class);
|
||||
startActivity(in);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return data.size();
|
||||
}
|
||||
|
||||
class MyViewHolder extends RecyclerView.ViewHolder {
|
||||
TextView txt, txt_storeAddress;
|
||||
ImageView icon;
|
||||
RelativeLayout relativelayout;
|
||||
ImageView imageview;
|
||||
|
||||
public MyViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
txt = (TextView) itemView.findViewById(R.id.geolistviewxml_storename);
|
||||
relativelayout = (RelativeLayout) itemView.findViewById(R.id.relativelayout);
|
||||
imageview = (ImageView) itemView.findViewById(R.id.imageView1);
|
||||
txt_storeAddress = (TextView) itemView.findViewById(R.id.txt_storeAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*public List<StoreBean> getdata() {
|
||||
List<StoreBean> data = new ArrayList<>();
|
||||
|
||||
storelist = db.getStoreData(date);
|
||||
|
||||
StoreBean storelistdata = new StoreBean();
|
||||
|
||||
for (int i = 0; i < storelist.size(); i++) {
|
||||
storelistdata.setSTORE_NAME(storelist.get(0).getSTORE_NAME());
|
||||
|
||||
data.add(storelistdata);
|
||||
|
||||
}
|
||||
|
||||
return data;
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
CommonFunctions.updateLangResources(context, preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||
toolbar.setTitle(getString(R.string.title_activity_store_geotag));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-279
@@ -1,279 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
public class AdditionalDialogGetterSetter {
|
||||
public String Display_id,display,brand_id,brand, trg_quantity, image1, image2, category_id,
|
||||
image3, BEFORE_QTY, camera1, camera2, camera3, AFTER_QTY, store_id, stock_count, question_id, question, answer, type,
|
||||
KEY_ID, unique_id,image_url, sku_id,quantity, process_id, sku_name, stock_flag,subcatid,subcat,subcatEng;
|
||||
|
||||
|
||||
public String getSubcatid() {
|
||||
return subcatid;
|
||||
}
|
||||
|
||||
public void setSubcatid(String subcatid) {
|
||||
this.subcatid = subcatid;
|
||||
}
|
||||
|
||||
public String getSubcat() {
|
||||
return subcat;
|
||||
}
|
||||
|
||||
public void setSubcat(String subcat) {
|
||||
this.subcat = subcat;
|
||||
}
|
||||
|
||||
public String getSubcatEng() {
|
||||
return subcatEng;
|
||||
}
|
||||
|
||||
public void setSubcatEng(String subcatEng) {
|
||||
this.subcatEng = subcatEng;
|
||||
}
|
||||
|
||||
public String getCOMMON_ID() {
|
||||
return COMMON_ID;
|
||||
}
|
||||
|
||||
public void setCOMMON_ID(String COMMON_ID) {
|
||||
this.COMMON_ID = COMMON_ID;
|
||||
}
|
||||
|
||||
String COMMON_ID;
|
||||
|
||||
public String getCategoryId() {
|
||||
return categoryId;
|
||||
}
|
||||
|
||||
public void setCategoryId(String categoryId) {
|
||||
this.categoryId = categoryId;
|
||||
}
|
||||
|
||||
String categoryId;
|
||||
|
||||
public String getStock_flag() {
|
||||
return stock_flag;
|
||||
}
|
||||
|
||||
public void setStock_flag(String stock_flag) {
|
||||
this.stock_flag = stock_flag;
|
||||
}
|
||||
|
||||
public String getSku_name() {
|
||||
return sku_name;
|
||||
}
|
||||
|
||||
public void setSku_name(String sku_name) {
|
||||
this.sku_name = sku_name;
|
||||
}
|
||||
|
||||
public String getProcess_id() {
|
||||
return process_id;
|
||||
}
|
||||
|
||||
public void setProcess_id(String process_id) {
|
||||
this.process_id = process_id;
|
||||
}
|
||||
|
||||
public String getSku_id() {
|
||||
return sku_id;
|
||||
}
|
||||
|
||||
public void setSku_id(String sku_id) {
|
||||
this.sku_id = sku_id;
|
||||
}
|
||||
|
||||
public String getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(String quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public String getImage_url() {
|
||||
return image_url;
|
||||
}
|
||||
|
||||
public void setImage_url(String image_url) {
|
||||
this.image_url = image_url;
|
||||
}
|
||||
|
||||
public String getUnique_id() {
|
||||
return unique_id;
|
||||
}
|
||||
|
||||
public void setUnique_id(String unique_id) {
|
||||
this.unique_id = unique_id;
|
||||
}
|
||||
|
||||
public String getKEY_ID() {
|
||||
return KEY_ID;
|
||||
}
|
||||
|
||||
public void setKEY_ID(String kEY_ID) {
|
||||
KEY_ID = kEY_ID;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getCategory_id() {
|
||||
return category_id;
|
||||
}
|
||||
|
||||
public void setCategory_id(String category_id) {
|
||||
this.category_id = category_id;
|
||||
}
|
||||
|
||||
public String getQuestion_id() {
|
||||
return question_id;
|
||||
}
|
||||
|
||||
public void setQuestion_id(String question_id) {
|
||||
this.question_id = question_id;
|
||||
}
|
||||
|
||||
public String getQuestion() {
|
||||
return question;
|
||||
}
|
||||
|
||||
public void setQuestion(String question) {
|
||||
this.question = question;
|
||||
}
|
||||
|
||||
public String getAnswer() {
|
||||
return answer;
|
||||
}
|
||||
|
||||
public void setAnswer(String answer) {
|
||||
this.answer = answer;
|
||||
}
|
||||
|
||||
public String getStock_count() {
|
||||
return stock_count;
|
||||
}
|
||||
|
||||
public void setStock_count(String stock_count) {
|
||||
this.stock_count = stock_count;
|
||||
}
|
||||
|
||||
public String getStore_id() {
|
||||
return store_id;
|
||||
}
|
||||
|
||||
public void setStore_id(String store_id) {
|
||||
this.store_id = store_id;
|
||||
}
|
||||
|
||||
public String getCamera1() {
|
||||
return camera1;
|
||||
}
|
||||
|
||||
public void setCamera1(String camera1) {
|
||||
this.camera1 = camera1;
|
||||
}
|
||||
|
||||
public String getCamera2() {
|
||||
return camera2;
|
||||
}
|
||||
|
||||
public void setCamera2(String camera2) {
|
||||
this.camera2 = camera2;
|
||||
}
|
||||
|
||||
public String getCamera3() {
|
||||
return camera3;
|
||||
}
|
||||
|
||||
public void setCamera3(String camera3) {
|
||||
this.camera3 = camera3;
|
||||
}
|
||||
|
||||
public String getDisplay_id() {
|
||||
return Display_id;
|
||||
}
|
||||
|
||||
public void setDisplay_id(String display_id) {
|
||||
Display_id = display_id;
|
||||
}
|
||||
|
||||
public String getDisplay() {
|
||||
return display;
|
||||
}
|
||||
|
||||
public void setDisplay(String display) {
|
||||
this.display = display;
|
||||
}
|
||||
|
||||
public String getBrand_id() {
|
||||
return brand_id;
|
||||
}
|
||||
|
||||
public void setBrand_id(String brand_id) {
|
||||
this.brand_id = brand_id;
|
||||
}
|
||||
|
||||
public String getBrand() {
|
||||
return brand;
|
||||
}
|
||||
|
||||
public void setBrand(String brand) {
|
||||
this.brand = brand;
|
||||
}
|
||||
|
||||
public String getTrg_quantity() {
|
||||
return trg_quantity;
|
||||
}
|
||||
|
||||
public void setTrg_quantity(String trg_quantity) {
|
||||
this.trg_quantity = trg_quantity;
|
||||
}
|
||||
|
||||
public String getImage1() {
|
||||
return image1;
|
||||
}
|
||||
|
||||
public void setImage1(String image1) {
|
||||
this.image1 = image1;
|
||||
}
|
||||
|
||||
public String getImage2() {
|
||||
return image2;
|
||||
}
|
||||
|
||||
public void setImage2(String image2) {
|
||||
this.image2 = image2;
|
||||
}
|
||||
|
||||
public String getImage3() {
|
||||
return image3;
|
||||
}
|
||||
|
||||
public void setImage3(String image3) {
|
||||
this.image3 = image3;
|
||||
}
|
||||
|
||||
public String getBEFORE_QTY() {
|
||||
return BEFORE_QTY;
|
||||
}
|
||||
|
||||
public void setBEFORE_QTY(String bEFORE_QTY) {
|
||||
BEFORE_QTY = bEFORE_QTY;
|
||||
}
|
||||
|
||||
public String getAFTER_QTY() {
|
||||
return AFTER_QTY;
|
||||
}
|
||||
|
||||
public void setAFTER_QTY(String aFTER_QTY) {
|
||||
AFTER_QTY = aFTER_QTY;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
-149
@@ -1,149 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Created by ashishc on 09-01-2017.
|
||||
*/
|
||||
|
||||
public class AddittionalGetterSetter {
|
||||
|
||||
|
||||
public String getBrand() {
|
||||
return Brand;
|
||||
}
|
||||
|
||||
public void setBrand(String brand) {
|
||||
Brand = brand;
|
||||
}
|
||||
|
||||
public String getBrand_id() {
|
||||
return Brand_id;
|
||||
}
|
||||
|
||||
public void setBrand_id(String brand_id) {
|
||||
Brand_id = brand_id;
|
||||
}
|
||||
|
||||
public String getSku() {
|
||||
return Sku;
|
||||
}
|
||||
|
||||
public void setSku(String sku) {
|
||||
Sku = sku;
|
||||
}
|
||||
|
||||
public String getSku_id() {
|
||||
return Sku_id;
|
||||
}
|
||||
|
||||
public void setSku_id(String sku_id) {
|
||||
Sku_id = sku_id;
|
||||
}
|
||||
|
||||
public String getStore_id() {
|
||||
return Store_id;
|
||||
}
|
||||
|
||||
public void setStore_id(String store_id) {
|
||||
Store_id = store_id;
|
||||
}
|
||||
|
||||
public String getImage() {
|
||||
return Image;
|
||||
}
|
||||
|
||||
public void setImage(String image) {
|
||||
Image = image;
|
||||
}
|
||||
|
||||
String Brand,Brand_id,Sku,Sku_id,Store_id,Image="";
|
||||
|
||||
String SubCatId,SubCat="";
|
||||
|
||||
public String getSubCatId() {
|
||||
return SubCatId;
|
||||
}
|
||||
|
||||
public void setSubCatId(String subCatId) {
|
||||
SubCatId = subCatId;
|
||||
}
|
||||
|
||||
public String getSubCat() {
|
||||
return SubCat;
|
||||
}
|
||||
|
||||
public void setSubCat(String subCat) {
|
||||
SubCat = subCat;
|
||||
}
|
||||
|
||||
public String getSubCatEng() {
|
||||
return SubCatEng;
|
||||
}
|
||||
|
||||
public void setSubCatEng(String subCatEng) {
|
||||
SubCatEng = subCatEng;
|
||||
}
|
||||
|
||||
String SubCatEng="";
|
||||
|
||||
String Image2="";
|
||||
|
||||
public String getImage3() {
|
||||
return Image3;
|
||||
}
|
||||
|
||||
public void setImage3(String image3) {
|
||||
Image3 = image3;
|
||||
}
|
||||
|
||||
public String getImage2() {
|
||||
return Image2;
|
||||
}
|
||||
|
||||
public void setImage2(String image2) {
|
||||
Image2 = image2;
|
||||
}
|
||||
|
||||
String Image3="";
|
||||
|
||||
public String getKey_id() {
|
||||
return key_id;
|
||||
}
|
||||
|
||||
public void setKey_id(String key_id) {
|
||||
this.key_id = key_id;
|
||||
}
|
||||
|
||||
String key_id;
|
||||
|
||||
public String getBtn_toogle() {
|
||||
return btn_toogle;
|
||||
}
|
||||
|
||||
public void setBtn_toogle(String btn_toogle) {
|
||||
this.btn_toogle = btn_toogle;
|
||||
}
|
||||
|
||||
String btn_toogle;
|
||||
|
||||
public String getCategoryId() {
|
||||
return categoryId;
|
||||
}
|
||||
|
||||
public void setCategoryId(String categoryId) {
|
||||
this.categoryId = categoryId;
|
||||
}
|
||||
|
||||
String categoryId;
|
||||
|
||||
ArrayList<AdditionalDialogGetterSetter> skuDialogList = new ArrayList<>();
|
||||
|
||||
public ArrayList<AdditionalDialogGetterSetter> getSkuDialogList() {
|
||||
return skuDialogList;
|
||||
}
|
||||
|
||||
public void setSkuDialogList(ArrayList<AdditionalDialogGetterSetter> skuDialogList) {
|
||||
this.skuDialogList = skuDialogList;
|
||||
}
|
||||
}
|
||||
-84
@@ -1,84 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Created by ashishc on 07-02-2017.
|
||||
*/
|
||||
|
||||
public class BrandAvabilityGetterSetter {
|
||||
|
||||
String BRAND_ID;
|
||||
String BRAND;
|
||||
String keyAccount_id;
|
||||
String class_id;
|
||||
String categoryId;
|
||||
|
||||
public String getStore_id() {
|
||||
return store_id;
|
||||
}
|
||||
|
||||
public void setStore_id(String store_id) {
|
||||
this.store_id = store_id;
|
||||
}
|
||||
|
||||
String store_id;
|
||||
|
||||
public String getStoreType_id() {
|
||||
return storeType_id;
|
||||
}
|
||||
|
||||
public void setStoreType_id(String storeType_id) {
|
||||
this.storeType_id = storeType_id;
|
||||
}
|
||||
|
||||
public String getCategoryId() {
|
||||
return categoryId;
|
||||
}
|
||||
|
||||
public void setCategoryId(String categoryId) {
|
||||
this.categoryId = categoryId;
|
||||
}
|
||||
|
||||
public String getClass_id() {
|
||||
return class_id;
|
||||
}
|
||||
|
||||
public void setClass_id(String class_id) {
|
||||
this.class_id = class_id;
|
||||
}
|
||||
|
||||
public String getKeyAccount_id() {
|
||||
return keyAccount_id;
|
||||
}
|
||||
|
||||
public void setKeyAccount_id(String keyAccount_id) {
|
||||
this.keyAccount_id = keyAccount_id;
|
||||
}
|
||||
|
||||
String storeType_id;
|
||||
|
||||
|
||||
public String getBRAND() {
|
||||
return BRAND;
|
||||
}
|
||||
|
||||
public void setBRAND(String BRAND) {
|
||||
this.BRAND = BRAND;
|
||||
}
|
||||
|
||||
public String getBRAND_ID() {
|
||||
return BRAND_ID;
|
||||
}
|
||||
|
||||
public void setBRAND_ID(String BRAND_ID) {
|
||||
this.BRAND_ID = BRAND_ID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
-194
@@ -1,194 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cpm.com.gskmtorange.adapter.data.ImageUri;
|
||||
|
||||
/**
|
||||
* Created by ashishc on 20-02-2017.
|
||||
*/
|
||||
|
||||
public class CategoryPictureGetterSetter {
|
||||
String subCatCode = "", CategoryImage1 = "", CategoryImage2 = "", CategoryImage3 = "", CategoryImage4 = "", image_allow = "0",categoryId,COMMON_ID,KEY_ID;
|
||||
|
||||
public String getSubCatCode() {
|
||||
return subCatCode;
|
||||
}
|
||||
|
||||
public void setSubCatCode(String subCatCode) {
|
||||
this.subCatCode = subCatCode;
|
||||
}
|
||||
|
||||
public String getCategoryId() {
|
||||
return categoryId;
|
||||
}
|
||||
|
||||
public void setCategoryId(String categoryId) {
|
||||
this.categoryId = categoryId;
|
||||
}
|
||||
|
||||
public String getCOMMON_ID() {
|
||||
return COMMON_ID;
|
||||
}
|
||||
|
||||
public void setCOMMON_ID(String COMMON_ID) {
|
||||
this.COMMON_ID = COMMON_ID;
|
||||
}
|
||||
|
||||
public String getKEY_ID() {
|
||||
return KEY_ID;
|
||||
}
|
||||
|
||||
public void setKEY_ID(String KEY_ID) {
|
||||
this.KEY_ID = KEY_ID;
|
||||
}
|
||||
|
||||
public String getCamera_allow() {
|
||||
return camera_allow;
|
||||
}
|
||||
|
||||
public void setCamera_allow(String camera_allow) {
|
||||
this.camera_allow = camera_allow;
|
||||
}
|
||||
|
||||
public String getClass_id() {
|
||||
return class_id;
|
||||
}
|
||||
|
||||
public void setClass_id(String class_id) {
|
||||
this.class_id = class_id;
|
||||
}
|
||||
|
||||
public String getStore_type_id() {
|
||||
return store_type_id;
|
||||
}
|
||||
|
||||
public void setStore_type_id(String store_type_id) {
|
||||
this.store_type_id = store_type_id;
|
||||
}
|
||||
|
||||
public String getKey_account_id() {
|
||||
return key_account_id;
|
||||
}
|
||||
|
||||
public void setKey_account_id(String key_account_id) {
|
||||
this.key_account_id = key_account_id;
|
||||
}
|
||||
|
||||
String camera_allow, class_id, store_type_id, key_account_id;
|
||||
|
||||
|
||||
public String getStore_ID() {
|
||||
return Store_ID;
|
||||
}
|
||||
|
||||
public void setStore_ID(String store_ID) {
|
||||
Store_ID = store_ID;
|
||||
}
|
||||
|
||||
String Store_ID;
|
||||
|
||||
String SubCategoryCamera1;
|
||||
|
||||
String Toggle_value="1";
|
||||
|
||||
public String getToggle_value() {
|
||||
return Toggle_value;
|
||||
}
|
||||
|
||||
public void setToggle_value(String toggle_value) {
|
||||
Toggle_value = toggle_value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
String SUB_CATEGORY_ID;
|
||||
|
||||
public String getSUB_CATEGORY() {
|
||||
return SUB_CATEGORY;
|
||||
}
|
||||
|
||||
public void setSUB_CATEGORY(String SUB_CATEGORY) {
|
||||
this.SUB_CATEGORY = SUB_CATEGORY;
|
||||
}
|
||||
|
||||
public String getSUB_CATEGORY_ID() {
|
||||
return SUB_CATEGORY_ID;
|
||||
}
|
||||
|
||||
public void setSUB_CATEGORY_ID(String SUB_CATEGORY_ID) {
|
||||
this.SUB_CATEGORY_ID = SUB_CATEGORY_ID;
|
||||
}
|
||||
|
||||
String SUB_CATEGORY;
|
||||
|
||||
|
||||
public String getSubCategoryCamera1() {
|
||||
return SubCategoryCamera1;
|
||||
}
|
||||
|
||||
public void setSubCategoryCamera1(String subCategoryCamera1) {
|
||||
SubCategoryCamera1 = subCategoryCamera1;
|
||||
}
|
||||
|
||||
public String getSubCategoryCamera2() {
|
||||
return SubCategoryCamera2;
|
||||
}
|
||||
|
||||
public void setSubCategoryCamera2(String subCategoryCamera2) {
|
||||
SubCategoryCamera2 = subCategoryCamera2;
|
||||
}
|
||||
|
||||
String SubCategoryCamera2;
|
||||
|
||||
public String getCategoryImage2() {
|
||||
return CategoryImage2;
|
||||
}
|
||||
|
||||
public void setCategoryImage2(String categoryImage2) {
|
||||
CategoryImage2 = categoryImage2;
|
||||
}
|
||||
|
||||
public String getCategoryImage1() {
|
||||
return CategoryImage1;
|
||||
}
|
||||
|
||||
public void setCategoryImage1(String categoryImage1) {
|
||||
CategoryImage1 = categoryImage1;
|
||||
}
|
||||
|
||||
public String getCategoryImage3() {
|
||||
return CategoryImage3;
|
||||
}
|
||||
|
||||
public void setCategoryImage3(String categoryImage3) {
|
||||
CategoryImage3 = categoryImage3;
|
||||
}
|
||||
|
||||
public String getCategoryImage4() {
|
||||
return CategoryImage4;
|
||||
}
|
||||
|
||||
public void setCategoryImage4(String categoryImage4) {
|
||||
CategoryImage4 = categoryImage4;
|
||||
}
|
||||
|
||||
|
||||
public String getImage_allow() {
|
||||
return image_allow;
|
||||
}
|
||||
|
||||
public void setImage_allow(String image_allow) {
|
||||
this.image_allow = image_allow;
|
||||
}
|
||||
|
||||
public ArrayList<ImageUri> getImageUris() {
|
||||
return imageUris;
|
||||
}
|
||||
|
||||
public void setImageUris(ArrayList<ImageUri> imageUris) {
|
||||
this.imageUris = imageUris;
|
||||
}
|
||||
|
||||
ArrayList<ImageUri> imageUris = new ArrayList<>();
|
||||
}
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
public class ChatMessageGetterSetter {
|
||||
|
||||
String REC_ID, CHAT_ID, MESSAGE, MESSAGEDATE , SENDERID, SENDER, RECEIVERID, RECEIVER, COMMENTDATE, COMMENT, STOREID, ORDERID, SENDER_USERID;
|
||||
|
||||
public String getREC_ID() {
|
||||
return REC_ID;
|
||||
}
|
||||
|
||||
public void setREC_ID(String REC_ID) {
|
||||
this.REC_ID = REC_ID;
|
||||
}
|
||||
|
||||
public String getCHAT_ID() {
|
||||
return CHAT_ID;
|
||||
}
|
||||
|
||||
public void setCHAT_ID(String CHAT_ID) {
|
||||
this.CHAT_ID = CHAT_ID;
|
||||
}
|
||||
|
||||
public String getMESSAGE() {
|
||||
return MESSAGE;
|
||||
}
|
||||
|
||||
public void setMESSAGE(String MESSAGE) {
|
||||
this.MESSAGE = MESSAGE;
|
||||
}
|
||||
|
||||
public String getMESSAGEDATE() {
|
||||
return MESSAGEDATE;
|
||||
}
|
||||
|
||||
public void setMESSAGEDATE(String MESSAGEDATE) {
|
||||
this.MESSAGEDATE = MESSAGEDATE;
|
||||
}
|
||||
|
||||
public String getSENDERID() {
|
||||
return SENDERID;
|
||||
}
|
||||
|
||||
public void setSENDERID(String SENDERID) {
|
||||
this.SENDERID = SENDERID;
|
||||
}
|
||||
|
||||
public String getSENDER() {
|
||||
return SENDER;
|
||||
}
|
||||
|
||||
public void setSENDER(String SENDER) {
|
||||
this.SENDER = SENDER;
|
||||
}
|
||||
|
||||
public String getRECEIVERID() {
|
||||
return RECEIVERID;
|
||||
}
|
||||
|
||||
public void setRECEIVERID(String RECEIVERID) {
|
||||
this.RECEIVERID = RECEIVERID;
|
||||
}
|
||||
|
||||
public String getRECEIVER() {
|
||||
return RECEIVER;
|
||||
}
|
||||
|
||||
public void setRECEIVER(String RECEIVER) {
|
||||
this.RECEIVER = RECEIVER;
|
||||
}
|
||||
|
||||
public String getCOMMENTDATE() {
|
||||
return COMMENTDATE;
|
||||
}
|
||||
|
||||
public void setCOMMENTDATE(String COMMENTDATE) {
|
||||
this.COMMENTDATE = COMMENTDATE;
|
||||
}
|
||||
|
||||
public String getCOMMENT() {
|
||||
return COMMENT;
|
||||
}
|
||||
|
||||
public void setCOMMENT(String COMMENT) {
|
||||
this.COMMENT = COMMENT;
|
||||
}
|
||||
|
||||
public String getSTOREID() {
|
||||
return STOREID;
|
||||
}
|
||||
|
||||
public void setSTOREID(String STOREID) {
|
||||
this.STOREID = STOREID;
|
||||
}
|
||||
|
||||
public String getORDERID() {
|
||||
return ORDERID;
|
||||
}
|
||||
|
||||
public void setORDERID(String ORDERID) {
|
||||
this.ORDERID = ORDERID;
|
||||
}
|
||||
|
||||
public String getSENDER_USERID() {
|
||||
return SENDER_USERID;
|
||||
}
|
||||
|
||||
public void setSENDER_USERID(String SENDER_USERID) {
|
||||
this.SENDER_USERID = SENDER_USERID;
|
||||
}
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
public class CoachingVisitGetterSetter {
|
||||
|
||||
String emp_id, img_path = "";
|
||||
boolean exists;
|
||||
|
||||
public String getEmp_id() {
|
||||
return emp_id;
|
||||
}
|
||||
|
||||
public void setEmp_id(String emp_id) {
|
||||
this.emp_id = emp_id;
|
||||
}
|
||||
|
||||
public String getImg_path() {
|
||||
return img_path;
|
||||
}
|
||||
|
||||
public void setImg_path(String img_path) {
|
||||
this.img_path = img_path;
|
||||
}
|
||||
|
||||
public boolean isExists() {
|
||||
return exists;
|
||||
}
|
||||
|
||||
public void setExists(boolean exists) {
|
||||
this.exists = exists;
|
||||
}
|
||||
}
|
||||
@@ -1,280 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
public class CoverageBean {
|
||||
protected int MID;
|
||||
protected String process_id;
|
||||
|
||||
public String flag_from;
|
||||
|
||||
public String getGEO_TAG() {
|
||||
return GEO_TAG;
|
||||
}
|
||||
|
||||
public void setGEO_TAG(String GEO_TAG) {
|
||||
this.GEO_TAG = GEO_TAG;
|
||||
}
|
||||
|
||||
protected String GEO_TAG;
|
||||
|
||||
public String getProcess_id() {
|
||||
return process_id;
|
||||
}
|
||||
|
||||
public void setProcess_id(String process_id) {
|
||||
this.process_id = process_id;
|
||||
}
|
||||
|
||||
protected String storeId;
|
||||
protected String storename;
|
||||
|
||||
public String getStorename() {
|
||||
return storename;
|
||||
}
|
||||
|
||||
public void setStorename(String storename) {
|
||||
this.storename = storename;
|
||||
}
|
||||
|
||||
protected String Remark;
|
||||
|
||||
public String getRemark() {
|
||||
return Remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
protected String userId;
|
||||
protected String app_version;
|
||||
protected String image_allow;
|
||||
|
||||
public String getImage_allow() {
|
||||
return image_allow;
|
||||
}
|
||||
|
||||
public void setImage_allow(String image_allow) {
|
||||
this.image_allow = image_allow;
|
||||
}
|
||||
|
||||
public String getApp_version() {
|
||||
return app_version;
|
||||
}
|
||||
|
||||
public void setApp_version(String app_version) {
|
||||
this.app_version = app_version;
|
||||
}
|
||||
|
||||
protected String inTime;
|
||||
|
||||
protected String outTime;
|
||||
|
||||
protected String visitDate;
|
||||
|
||||
protected String keycontactId;
|
||||
|
||||
protected String isdDeploy;
|
||||
|
||||
protected String uploadStatus;
|
||||
|
||||
private String latitude;
|
||||
|
||||
private String longitude;
|
||||
|
||||
private String reasonid = "";
|
||||
|
||||
private String sub_reasonId = "";
|
||||
|
||||
public String getSub_reasonId() {
|
||||
return sub_reasonId;
|
||||
}
|
||||
|
||||
public void setSub_reasonId(String sub_reasonId) {
|
||||
this.sub_reasonId = sub_reasonId;
|
||||
}
|
||||
|
||||
private String reason = "";
|
||||
|
||||
private String status = "N";
|
||||
|
||||
private String image = "";
|
||||
|
||||
|
||||
public String getImage() {
|
||||
return image;
|
||||
}
|
||||
|
||||
public void setImage(String image) {
|
||||
this.image = image;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public int getMID() {
|
||||
return MID;
|
||||
}
|
||||
|
||||
public void setMID(int mID) {
|
||||
MID = mID;
|
||||
}
|
||||
|
||||
public String getStoreId() {
|
||||
return storeId;
|
||||
}
|
||||
|
||||
public void setStoreId(String storeId) {
|
||||
this.storeId = storeId;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getInTime() {
|
||||
return inTime;
|
||||
}
|
||||
|
||||
public void setInTime(String inTime) {
|
||||
this.inTime = inTime;
|
||||
}
|
||||
|
||||
public String getOutTime() {
|
||||
return outTime;
|
||||
}
|
||||
|
||||
public void setOutTime(String outTime) {
|
||||
this.outTime = outTime;
|
||||
}
|
||||
|
||||
public String getVisitDate() {
|
||||
return visitDate;
|
||||
}
|
||||
|
||||
public void setVisitDate(String visitDate) {
|
||||
this.visitDate = visitDate;
|
||||
}
|
||||
|
||||
public String getKeycontactId() {
|
||||
return keycontactId;
|
||||
}
|
||||
|
||||
public void setKeycontactId(String keycontactId) {
|
||||
this.keycontactId = keycontactId;
|
||||
}
|
||||
|
||||
public String getIsdDeploy() {
|
||||
return isdDeploy;
|
||||
}
|
||||
|
||||
public void setIsdDeploy(String isdDeploy) {
|
||||
this.isdDeploy = isdDeploy;
|
||||
}
|
||||
|
||||
public String getUploadStatus() {
|
||||
return uploadStatus;
|
||||
}
|
||||
|
||||
public void setUploadStatus(String uploadStatus) {
|
||||
this.uploadStatus = uploadStatus;
|
||||
}
|
||||
|
||||
public String getLatitude() {
|
||||
return latitude;
|
||||
}
|
||||
|
||||
public void setLatitude(String latitude) {
|
||||
this.latitude = latitude;
|
||||
}
|
||||
|
||||
public String getLongitude() {
|
||||
return longitude;
|
||||
}
|
||||
|
||||
public void setLongitude(String longitude) {
|
||||
this.longitude = longitude;
|
||||
}
|
||||
|
||||
public String getReasonid() {
|
||||
return reasonid;
|
||||
}
|
||||
|
||||
public void setReasonid(String reasonid) {
|
||||
this.reasonid = reasonid;
|
||||
}
|
||||
|
||||
public String getReason() {
|
||||
return reason;
|
||||
}
|
||||
|
||||
public void setReason(String reason) {
|
||||
this.reason = reason;
|
||||
}
|
||||
|
||||
String CheckOut_Image = "";
|
||||
|
||||
|
||||
public String getCheckOut_Image() {
|
||||
return CheckOut_Image;
|
||||
}
|
||||
|
||||
public void setCheckOut_Image(String checkOut_Image) {
|
||||
CheckOut_Image = checkOut_Image;
|
||||
}
|
||||
|
||||
public String getFlag_from() {
|
||||
return flag_from;
|
||||
}
|
||||
|
||||
public void setFlag_from(String flag_from) {
|
||||
this.flag_from = flag_from;
|
||||
}
|
||||
|
||||
String keyAccountId;
|
||||
String classId;
|
||||
|
||||
public String getKeyAccountId() {
|
||||
return keyAccountId;
|
||||
}
|
||||
|
||||
public void setKeyAccountId(String keyAccountId) {
|
||||
this.keyAccountId = keyAccountId;
|
||||
}
|
||||
|
||||
public String getClassId() {
|
||||
return classId;
|
||||
}
|
||||
|
||||
public void setClassId(String classId) {
|
||||
this.classId = classId;
|
||||
}
|
||||
|
||||
public String getStoreTypeId() {
|
||||
return storeTypeId;
|
||||
}
|
||||
|
||||
public void setStoreTypeId(String storeTypeId) {
|
||||
this.storeTypeId = storeTypeId;
|
||||
}
|
||||
|
||||
String storeTypeId;
|
||||
|
||||
public String getMappingStk() {
|
||||
return mappingStk;
|
||||
}
|
||||
|
||||
public void setMappingStk(String mappingStk) {
|
||||
this.mappingStk = mappingStk;
|
||||
}
|
||||
|
||||
String mappingStk="";
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
public class GeotaggingBeans {
|
||||
|
||||
|
||||
|
||||
public String storeid;
|
||||
public String url1;
|
||||
public String url2;
|
||||
public String status;
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String url3;
|
||||
public double Latitude ;
|
||||
public double Longitude;
|
||||
|
||||
public String getStoreid() {
|
||||
return storeid;
|
||||
}
|
||||
public void setStoreid(String storeid) {
|
||||
this.storeid = storeid;
|
||||
}
|
||||
public double getLatitude() {
|
||||
return Latitude;
|
||||
}
|
||||
public void setLatitude(double d) {
|
||||
Latitude = d;
|
||||
}
|
||||
public double getLongitude() {
|
||||
return Longitude;
|
||||
}
|
||||
public void setLongitude(double d) {
|
||||
Longitude = d;
|
||||
}
|
||||
|
||||
|
||||
public void setUrl1(String url1)
|
||||
{
|
||||
|
||||
this.url1=url1;
|
||||
}
|
||||
|
||||
public String getUrl1()
|
||||
{
|
||||
|
||||
return url1;
|
||||
}
|
||||
|
||||
public void setUrl2(String url2)
|
||||
{
|
||||
|
||||
this.url2=url2;
|
||||
}
|
||||
|
||||
public String getUrl2()
|
||||
{
|
||||
|
||||
return url2;
|
||||
}
|
||||
|
||||
public void setUrl3(String url3)
|
||||
{
|
||||
|
||||
this.url3=url3;
|
||||
}
|
||||
|
||||
public String getUrl3()
|
||||
{
|
||||
|
||||
return url3;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class NoticeboardItem implements Serializable {
|
||||
String NoticeBoardId;
|
||||
String NoticThumnail_Path;
|
||||
String NoticeLink_Thumbnail;
|
||||
String NoticeLink_FullPage;
|
||||
String FullPageTarget;
|
||||
|
||||
public String getNoticeBoardId() {
|
||||
return NoticeBoardId;
|
||||
}
|
||||
|
||||
public void setNoticeBoardId(String noticeBoardId) {
|
||||
this.NoticeBoardId = noticeBoardId;
|
||||
}
|
||||
|
||||
public String getNoticThumnail_Path() {
|
||||
return NoticThumnail_Path;
|
||||
}
|
||||
|
||||
public void setNoticThumnail_Path(String noticThumnail_Path) {
|
||||
this.NoticThumnail_Path = noticThumnail_Path;
|
||||
}
|
||||
|
||||
public String getNoticeLink_Thumbnail() {
|
||||
return NoticeLink_Thumbnail;
|
||||
}
|
||||
|
||||
public void setNoticeLink_Thumbnail(String noticeLink_Thumbnail) {
|
||||
this.NoticeLink_Thumbnail = noticeLink_Thumbnail;
|
||||
}
|
||||
|
||||
public String getNoticeLink_FullPage() {
|
||||
return NoticeLink_FullPage;
|
||||
}
|
||||
|
||||
public void setNoticeLink_FullPage(String noticeLink_FullPage) {
|
||||
this.NoticeLink_FullPage = noticeLink_FullPage;
|
||||
}
|
||||
|
||||
public String getFullPageTarget() {
|
||||
return FullPageTarget;
|
||||
}
|
||||
|
||||
public void setFullPageTarget(String fullPageTarget) {
|
||||
this.FullPageTarget = fullPageTarget;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class OrderReceivedStatus implements Serializable {
|
||||
//TextView sys_gen_poTV,storepoTV,podateTV,lineItemTV,statusTV;
|
||||
String sys_gen_po="";
|
||||
String storepo="";
|
||||
String podate="";
|
||||
String lineItem="";
|
||||
String status="";
|
||||
int SKU_ID;
|
||||
int ORDERQTY;
|
||||
int CATEGORY_ID;
|
||||
int POID;
|
||||
|
||||
public int getPOID() {
|
||||
return POID;
|
||||
}
|
||||
|
||||
public void setPOID(int POID) {
|
||||
this.POID = POID;
|
||||
}
|
||||
|
||||
|
||||
public int getStoreid() {
|
||||
return Storeid;
|
||||
}
|
||||
|
||||
public void setStoreid(int storeid) {
|
||||
Storeid = storeid;
|
||||
}
|
||||
|
||||
int Storeid;
|
||||
|
||||
public int getSKU_ID() {
|
||||
return SKU_ID;
|
||||
}
|
||||
|
||||
public void setSKU_ID(int SKU_ID) {
|
||||
this.SKU_ID = SKU_ID;
|
||||
}
|
||||
|
||||
public int getORDERQTY() {
|
||||
return ORDERQTY;
|
||||
}
|
||||
|
||||
public void setORDERQTY(int ORDERQTY) {
|
||||
this.ORDERQTY = ORDERQTY;
|
||||
}
|
||||
|
||||
public int getCATEGORY_ID() {
|
||||
return CATEGORY_ID;
|
||||
}
|
||||
|
||||
public void setCATEGORY_ID(int CATEGORY_ID) {
|
||||
this.CATEGORY_ID = CATEGORY_ID;
|
||||
}
|
||||
|
||||
|
||||
public String getSys_gen_po() {
|
||||
return sys_gen_po;
|
||||
}
|
||||
|
||||
public void setSys_gen_po(String sys_gen_po) {
|
||||
this.sys_gen_po = sys_gen_po;
|
||||
}
|
||||
|
||||
public String getStorepo() {
|
||||
return storepo;
|
||||
}
|
||||
|
||||
public void setStorepo(String storepo) {
|
||||
this.storepo = storepo;
|
||||
}
|
||||
|
||||
public String getPodate() {
|
||||
return podate;
|
||||
}
|
||||
|
||||
public void setPodate(String podate) {
|
||||
this.podate = podate;
|
||||
}
|
||||
|
||||
public String getLineItem() {
|
||||
return lineItem;
|
||||
}
|
||||
|
||||
public void setLineItem(String lineItem) {
|
||||
this.lineItem = lineItem;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class PD_CONFIGURATION {
|
||||
ArrayList<String> PROJECT_ID = new ArrayList<>();
|
||||
ArrayList<String> USER_ID = new ArrayList<>();
|
||||
public ArrayList<String> getUSER_ID() {
|
||||
return USER_ID;
|
||||
}
|
||||
public void setUSER_ID(String USER_ID) {
|
||||
this.USER_ID.add(USER_ID);
|
||||
}
|
||||
public ArrayList<String> getPROJECT_ID() {
|
||||
return PROJECT_ID;
|
||||
}
|
||||
public void setPROJECT_ID(String PROJECT_ID) {
|
||||
this.PROJECT_ID.add(PROJECT_ID);
|
||||
}
|
||||
}
|
||||
@@ -1,193 +0,0 @@
|
||||
package cpm.com.gskmtorange.GetterSetter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Created by ashishc on 29-12-2016.
|
||||
*/
|
||||
|
||||
public class StoreBean implements Serializable{
|
||||
String STORE_ID;
|
||||
String EMP_ID;
|
||||
String KEYACCOUNT;
|
||||
String STORE_NAME;
|
||||
String ADDRESS;
|
||||
String CITY;
|
||||
String STORETYPE;
|
||||
String CLASSIFICATION;
|
||||
String KEYACCOUNT_ID;
|
||||
String STORETYPE_ID;
|
||||
String CLASS_ID;
|
||||
String VISIT_DATE;
|
||||
String CAMERA_ALLOW;
|
||||
String UPLOAD_STATUS;
|
||||
String LATITUDE;
|
||||
String LONGITUDE;
|
||||
String POG_TYPE_ID;
|
||||
|
||||
public String getFACING_HIDE() {
|
||||
return FACING_HIDE;
|
||||
}
|
||||
|
||||
public void setFACING_HIDE(String FACING_HIDE) {
|
||||
this.FACING_HIDE = FACING_HIDE;
|
||||
}
|
||||
|
||||
String FACING_HIDE;
|
||||
|
||||
public String getSTORE_ID() {
|
||||
return STORE_ID;
|
||||
}
|
||||
|
||||
public void setSTORE_ID(String STORE_ID) {
|
||||
this.STORE_ID = STORE_ID;
|
||||
}
|
||||
|
||||
public String getEMP_ID() {
|
||||
return EMP_ID;
|
||||
}
|
||||
|
||||
public void setEMP_ID(String EMP_ID) {
|
||||
this.EMP_ID = EMP_ID;
|
||||
}
|
||||
|
||||
public String getKEYACCOUNT() {
|
||||
return KEYACCOUNT;
|
||||
}
|
||||
|
||||
public void setKEYACCOUNT(String KEYACCOUNT) {
|
||||
this.KEYACCOUNT = KEYACCOUNT;
|
||||
}
|
||||
|
||||
public String getSTORE_NAME() {
|
||||
return STORE_NAME;
|
||||
}
|
||||
|
||||
public void setSTORE_NAME(String STORE_NAME) {
|
||||
this.STORE_NAME = STORE_NAME;
|
||||
}
|
||||
|
||||
public String getADDRESS() {
|
||||
return ADDRESS;
|
||||
}
|
||||
|
||||
public void setADDRESS(String ADDRESS) {
|
||||
this.ADDRESS = ADDRESS;
|
||||
}
|
||||
|
||||
public String getCITY() {
|
||||
return CITY;
|
||||
}
|
||||
|
||||
public void setCITY(String CITY) {
|
||||
this.CITY = CITY;
|
||||
}
|
||||
|
||||
public String getSTORETYPE() {
|
||||
return STORETYPE;
|
||||
}
|
||||
|
||||
public void setSTORETYPE(String STORETYPE) {
|
||||
this.STORETYPE = STORETYPE;
|
||||
}
|
||||
|
||||
public String getCLASSIFICATION() {
|
||||
return CLASSIFICATION;
|
||||
}
|
||||
|
||||
public void setCLASSIFICATION(String CLASSIFICATION) {
|
||||
this.CLASSIFICATION = CLASSIFICATION;
|
||||
}
|
||||
|
||||
public String getKEYACCOUNT_ID() {
|
||||
return KEYACCOUNT_ID;
|
||||
}
|
||||
|
||||
public void setKEYACCOUNT_ID(String KEYACCOUNT_ID) {
|
||||
this.KEYACCOUNT_ID = KEYACCOUNT_ID;
|
||||
}
|
||||
|
||||
public String getSTORETYPE_ID() {
|
||||
return STORETYPE_ID;
|
||||
}
|
||||
|
||||
public void setSTORETYPE_ID(String STORETYPE_ID) {
|
||||
this.STORETYPE_ID = STORETYPE_ID;
|
||||
}
|
||||
|
||||
public String getCLASS_ID() {
|
||||
return CLASS_ID;
|
||||
}
|
||||
|
||||
public void setCLASS_ID(String CLASS_ID) {
|
||||
this.CLASS_ID = CLASS_ID;
|
||||
}
|
||||
|
||||
public String getVISIT_DATE() {
|
||||
return VISIT_DATE;
|
||||
}
|
||||
|
||||
public void setVISIT_DATE(String VISIT_DATE) {
|
||||
this.VISIT_DATE = VISIT_DATE;
|
||||
}
|
||||
|
||||
public String getCAMERA_ALLOW() {
|
||||
return CAMERA_ALLOW;
|
||||
}
|
||||
|
||||
public void setCAMERA_ALLOW(String CAMERA_ALLOW) {
|
||||
this.CAMERA_ALLOW = CAMERA_ALLOW;
|
||||
}
|
||||
|
||||
public String getUPLOAD_STATUS() {
|
||||
return UPLOAD_STATUS;
|
||||
}
|
||||
|
||||
public void setUPLOAD_STATUS(String UPLOAD_STATUS) {
|
||||
this.UPLOAD_STATUS = UPLOAD_STATUS;
|
||||
}
|
||||
|
||||
public String getCHECKOUT_STATUS() {
|
||||
return CHECKOUT_STATUS;
|
||||
}
|
||||
|
||||
public void setCHECKOUT_STATUS(String CHECKOUT_STATUS) {
|
||||
this.CHECKOUT_STATUS = CHECKOUT_STATUS;
|
||||
}
|
||||
|
||||
public String getGEO_TAG() {
|
||||
return GEO_TAG;
|
||||
}
|
||||
|
||||
public void setGEO_TAG(String GEO_TAG) {
|
||||
this.GEO_TAG = GEO_TAG;
|
||||
}
|
||||
|
||||
String CHECKOUT_STATUS;
|
||||
String GEO_TAG ;
|
||||
|
||||
|
||||
public String getLATITUDE() {
|
||||
return LATITUDE;
|
||||
}
|
||||
|
||||
public void setLATITUDE(String LATITUDE) {
|
||||
this.LATITUDE = LATITUDE;
|
||||
}
|
||||
|
||||
public String getLONGITUDE() {
|
||||
return LONGITUDE;
|
||||
}
|
||||
|
||||
public void setLONGITUDE(String LONGITUDE) {
|
||||
this.LONGITUDE = LONGITUDE;
|
||||
}
|
||||
|
||||
public String getPOG_TYPE_ID() {
|
||||
return POG_TYPE_ID;
|
||||
}
|
||||
|
||||
public void setPOG_TYPE_ID(String POG_TYPE_ID) {
|
||||
this.POG_TYPE_ID = POG_TYPE_ID;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,818 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.google.android.material.navigation.NavigationView;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cpm.com.gskmtorange.Database.GSKOrangeDB;
|
||||
import cpm.com.gskmtorange.GeoTag.GeoTagStoreList;
|
||||
import cpm.com.gskmtorange.GetterSetter.CoverageBean;
|
||||
import cpm.com.gskmtorange.GetterSetter.StoreBean;
|
||||
import cpm.com.gskmtorange.constant.CommonFunctions;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
import cpm.com.gskmtorange.dailyentry.CounterfeitIndicatorWebActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.DeliveryCallActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.FutureJCPActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.PlanogramPDFActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.ServiceActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.SettingsActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.StoreListActivity;
|
||||
import cpm.com.gskmtorange.dailyentry.WebViewActivity;
|
||||
import cpm.com.gskmtorange.download.DownloadActivity;
|
||||
import cpm.com.gskmtorange.password.ChangePasswordActivity;
|
||||
import cpm.com.gskmtorange.upload.PreviousDataUploadActivity;
|
||||
import cpm.com.gskmtorange.upload.UploadActivity;
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter;
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.NoticeItem;
|
||||
|
||||
public class MainActivity extends AppCompatActivity
|
||||
implements NavigationView.OnNavigationItemSelectedListener {
|
||||
private Context context;
|
||||
WebView webView;
|
||||
ImageView imageView;
|
||||
ViewPager2 viewPager;
|
||||
private Handler sliderHandler = new Handler();
|
||||
private Runnable sliderRunnable;
|
||||
private List<ImageView> dots = new ArrayList<>();
|
||||
List<NoticeItem>bannerlist = null;
|
||||
String date;
|
||||
String app_ver;
|
||||
private SharedPreferences preferences = null;
|
||||
GSKOrangeDB db;
|
||||
String user_name, country_id;
|
||||
ArrayList<StoreBean> storelist = new ArrayList<StoreBean>();
|
||||
View headerView;
|
||||
ArrayList<CoverageBean> coverageList;
|
||||
String error_msg;
|
||||
Toolbar toolbar;
|
||||
LinearLayout dotsLayout;
|
||||
NavigationView navigationView;
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
viewPager = findViewById(R.id.viewPager);
|
||||
setSupportActionBar(toolbar);
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
context = this;
|
||||
CommonFunctions.updateLangResources(context, preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||
date = preferences.getString(CommonString.KEY_DATE, null);
|
||||
imageView = (ImageView) findViewById(R.id.img_main);
|
||||
dotsLayout = findViewById(R.id.dotsLayout);
|
||||
webView = (WebView) findViewById(R.id.webview);
|
||||
String url = preferences.getString(CommonString.KEY_NOTICE_BOARD_LINK, "");
|
||||
// String url = "https://dle.parinaam.in/OneApp/Dabur/brand-spiels/dabur-brand-spiels.html";
|
||||
user_name = preferences.getString(CommonString.KEY_USERNAME, null);
|
||||
country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, null);
|
||||
db = new GSKOrangeDB(MainActivity.this);
|
||||
db.open();
|
||||
webView.setWebViewClient(new MyWebViewClient());
|
||||
webView.getSettings().setJavaScriptEnabled(true);
|
||||
|
||||
String json = preferences.getString("NOTICEBOARD_DATA", null) != null
|
||||
? preferences.getString("NOTICEBOARD_DATA", null)
|
||||
: "";
|
||||
Log.d("noticejsondata",json);
|
||||
if (!json.isEmpty()) {
|
||||
Gson gson = new Gson();
|
||||
NoticeResponse response =
|
||||
gson.fromJson(json, NoticeResponse.class);
|
||||
bannerlist = response.Mer_NoticeBoard;
|
||||
Log.d("SIZE", String.valueOf(bannerlist.size()));
|
||||
}
|
||||
|
||||
|
||||
if(bannerlist!=null && bannerlist.size()>0){
|
||||
setupDots(bannerlist.size());
|
||||
viewPager.setAdapter(new NoticeAdapter(bannerlist, this::handleClick));
|
||||
}
|
||||
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
super.onPageSelected(position);
|
||||
|
||||
setActiveDot(position); // 👈 your dots logic
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
super.onPageScrollStateChanged(state);
|
||||
|
||||
if (state == ViewPager2.SCROLL_STATE_DRAGGING) {
|
||||
sliderHandler.removeCallbacks(sliderRunnable); // stop
|
||||
}
|
||||
else if (state == ViewPager2.SCROLL_STATE_IDLE) {
|
||||
startAutoSlide(); // 🔥 don't call postDelayed directly
|
||||
}
|
||||
}
|
||||
});
|
||||
viewPager.setClipToPadding(false);
|
||||
viewPager.setClipChildren(false);
|
||||
|
||||
if (!url.isEmpty()) {
|
||||
webView.loadUrl(url);
|
||||
}
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
|
||||
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
|
||||
drawer.setDrawerListener(toggle);
|
||||
toggle.syncState();
|
||||
navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
headerView = LayoutInflater.from(this).inflate(R.layout.nav_header_main, navigationView, false);
|
||||
TextView tv_username = (TextView) headerView.findViewById(R.id.nav_user_name);
|
||||
//tv_usertype = (TextView) headerView.findViewById(R.id.nav_user_type);
|
||||
ImageView img_change_password = (ImageView) headerView.findViewById(R.id.img_change_password);
|
||||
tv_username.setText(user_name);
|
||||
//tv_usertype.setText(user_type);
|
||||
|
||||
img_change_password.setOnClickListener(v -> {
|
||||
Intent in = new Intent(context, ChangePasswordActivity.class);
|
||||
startActivity(in);
|
||||
});
|
||||
|
||||
navigationView.addHeaderView(headerView);
|
||||
navigationView.setNavigationItemSelectedListener(this);
|
||||
}
|
||||
|
||||
private void setupDots(int size) {
|
||||
dotsLayout.removeAllViews();
|
||||
dots.clear();
|
||||
|
||||
for (int i = 0; i < size; i++) {
|
||||
ImageView dot = new ImageView(this);
|
||||
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT
|
||||
);
|
||||
params.setMargins(8, 0, 8, 0);
|
||||
dot.setLayoutParams(params);
|
||||
|
||||
// default (inactive)
|
||||
dot.setImageResource(R.drawable.dot_inactive);
|
||||
|
||||
dotsLayout.addView(dot);
|
||||
dots.add(dot);
|
||||
}
|
||||
|
||||
// set first dot active
|
||||
if (size > 0) {
|
||||
setActiveDot(0);
|
||||
}
|
||||
}
|
||||
|
||||
private void setActiveDot(int position) {
|
||||
|
||||
for (int i = 0; i < dots.size(); i++) {
|
||||
ImageView dot = dots.get(i);
|
||||
|
||||
if (i == position) {
|
||||
// Active dot (bigger + dark)
|
||||
dot.setImageResource(R.drawable.dot_active);
|
||||
|
||||
dot.animate()
|
||||
.scaleX(1f)
|
||||
.scaleY(1f)
|
||||
.setDuration(200)
|
||||
.start();
|
||||
|
||||
} else {
|
||||
// Inactive dot (small + light)
|
||||
dot.setImageResource(R.drawable.dot_inactive);
|
||||
|
||||
dot.animate()
|
||||
.scaleX(1f)
|
||||
.scaleY(1f)
|
||||
.setDuration(200)
|
||||
.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void handleClick(NoticeItem item) {
|
||||
|
||||
String url = String.valueOf(item.getNoticeLink_FullPage());
|
||||
String type = String.valueOf(item.getFullPageTarget());
|
||||
// Log.d("clickdata",url + ","+type);
|
||||
Log.e("clickdata", "URL = " + url);
|
||||
System.out.println("FULL URL = " + url);
|
||||
|
||||
if (type == null) return;
|
||||
|
||||
switch (type.toLowerCase()) {
|
||||
case "html-webview":
|
||||
Log.d("itemdata", String.valueOf(item.getFullPageTarget()));
|
||||
Intent webIntent = new Intent(this, WebViewActivity.class);
|
||||
webIntent.putExtra("url", url);
|
||||
webIntent.putExtra("type", item.getFullPageTarget());
|
||||
webIntent.putExtra("dt_level", "");
|
||||
startActivity(webIntent);
|
||||
break;
|
||||
|
||||
case "html-webbrowser":
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
|
||||
break;
|
||||
|
||||
case "video":
|
||||
Intent videoIntent = new Intent(this, WebViewActivity.class);
|
||||
videoIntent.putExtra("url", url);
|
||||
videoIntent.putExtra("type", item.getFullPageTarget());
|
||||
videoIntent.putExtra("dt_level", "");
|
||||
startActivity(videoIntent);
|
||||
break;
|
||||
|
||||
case "image":
|
||||
Intent imageIntent = new Intent(this, WebViewActivity.class);
|
||||
imageIntent.putExtra("url", url);
|
||||
imageIntent.putExtra("type", item.getFullPageTarget());
|
||||
imageIntent.putExtra("dt_level", "");
|
||||
startActivity(imageIntent);
|
||||
break;
|
||||
|
||||
case "deeplink":
|
||||
try {
|
||||
Intent deepIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
||||
startActivity(deepIntent);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(this, "Invalid deeplink", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
break;
|
||||
|
||||
case "contact":
|
||||
handleContact(url);
|
||||
break;
|
||||
|
||||
default:
|
||||
Toast.makeText(this, "Unsupported type", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
private void handleContact(String raw) {
|
||||
try {
|
||||
// remove query params
|
||||
String jsonPart = raw.split("\\?")[0];
|
||||
|
||||
JSONObject obj = new JSONObject(jsonPart);
|
||||
|
||||
String number = obj.getString("Value");
|
||||
|
||||
Intent intent = new Intent(Intent.ACTION_DIAL);
|
||||
intent.setData(Uri.parse("tel:" + number));
|
||||
startActivity(intent);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Toast.makeText(this, "Invalid contact data", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
private String loadJSONFromAsset() {
|
||||
String json = null;
|
||||
try {
|
||||
InputStream is = getAssets().open("notice.json");
|
||||
int size = is.available();
|
||||
byte[] buffer = new byte[size];
|
||||
is.read(buffer);
|
||||
is.close();
|
||||
json = new String(buffer, "UTF-8");
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return json;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
CommonFunctions.updateLangResources(context, preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||
toolbar.setTitle(getString(R.string.main_menu_activity_name));
|
||||
db.open();
|
||||
//usk
|
||||
navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
startAutoSlide();
|
||||
try {
|
||||
app_ver = String.valueOf(getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
|
||||
// login_version.setText("Parinaam Version " + app_ver);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
// get menu from navigationView
|
||||
Menu menu = navigationView.getMenu();
|
||||
// find MenuItem you want to change
|
||||
MenuItem nav_route_plan = menu.findItem(R.id.nav_route_plan);
|
||||
nav_route_plan.setTitle(getResources().getString(R.string.menu_daily_route_plan));
|
||||
MenuItem nav_route_plan1 = menu.findItem(R.id.nav_download);
|
||||
nav_route_plan1.setTitle(getResources().getString(R.string.menu_daily_download));
|
||||
MenuItem nav_route_plan2 = menu.findItem(R.id.nav_upload);
|
||||
nav_route_plan2.setTitle(getResources().getString(R.string.menu_upload_data));
|
||||
MenuItem nav_route_plan3 = menu.findItem(R.id.nav_geotag);
|
||||
nav_route_plan3.setTitle(getResources().getString(R.string.menu_geotag));
|
||||
MenuItem nav_route_plan4 = menu.findItem(R.id.nav_deviation);
|
||||
nav_route_plan4.setTitle(getResources().getString(R.string.menu_deviation_data));
|
||||
MenuItem nav_route_plan5 = menu.findItem(R.id.nav_delivery_call);
|
||||
nav_route_plan5.setTitle(getResources().getString(R.string.delivery_call));
|
||||
MenuItem nav_route_plan6 = menu.findItem(R.id.nav_future_jcp);
|
||||
nav_route_plan6.setTitle(getResources().getString(R.string.future_route_plan));
|
||||
MenuItem nav_route_plan7 = menu.findItem(R.id.nav_planogram);
|
||||
nav_route_plan7.setTitle(getResources().getString(R.string.category_performance_PLANOGRAM));
|
||||
MenuItem nav_route_plan8 = menu.findItem(R.id.nav_pharmacy_stores);
|
||||
nav_route_plan8.setTitle(getResources().getString(R.string.pharma_stores));
|
||||
MenuItem nav_route_plan9 = menu.findItem(R.id.nav_additional_stores);
|
||||
nav_route_plan9.setTitle(getResources().getString(R.string.additional_stores));
|
||||
MenuItem nav_route_plan10 = menu.findItem(R.id.nav_additional_adhoc_stores);
|
||||
nav_route_plan10.setTitle(getResources().getString(R.string.additional_adhoc_stores));
|
||||
MenuItem nav_route_plan11 = menu.findItem(R.id.nav_counterfeit_indicator);
|
||||
nav_route_plan11.setTitle(getResources().getString(R.string.title_activity_counterfeit_indicator_web));
|
||||
MenuItem nav_route_plan12 = menu.findItem(R.id.nav_exit);
|
||||
nav_route_plan12.setTitle(getResources().getString(R.string.menu_exit));
|
||||
MenuItem nav_route_plan13 = menu.findItem(R.id.nav_setting);
|
||||
nav_route_plan13.setTitle(getResources().getString(R.string.menu_setting));
|
||||
MenuItem nav_route_plan14 = menu.findItem(R.id.nav_services);
|
||||
nav_route_plan14.setTitle(getResources().getString(R.string.menu_services));
|
||||
|
||||
MenuItem nav_route_plan15 = menu.findItem(R.id.nav_version);
|
||||
nav_route_plan15.setTitle("Version/Versiyon - " + app_ver + "-T3");
|
||||
//Enable disable According to Configuration
|
||||
ArrayList<ConfigurationMasterGetterSetter> configurationData = db.getConfigurationMasterData(country_id);
|
||||
if (!configurationData.isEmpty()) {
|
||||
for (int i = 0; i < configurationData.size(); i++) {
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("ADHOC REPORTING") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_deviation).setVisible(true);
|
||||
}
|
||||
//temp remove it
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("PDF ALLOW") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_planogram).setVisible(true);
|
||||
}
|
||||
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("DELIVERY CALLS") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_delivery_call).setVisible(true);
|
||||
}
|
||||
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("ADDITIONAL STORE") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_additional_stores).setVisible(true);
|
||||
}
|
||||
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("PHARMA STORE") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_pharmacy_stores).setVisible(true);
|
||||
}
|
||||
|
||||
|
||||
if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("COUNTERFEIT INDICATORS") &&
|
||||
configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) {
|
||||
Menu nav_Menu = navigationView.getMenu();
|
||||
nav_Menu.findItem(R.id.nav_counterfeit_indicator).setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
db.open();
|
||||
coverageList = db.getCoverageData(date, null);
|
||||
storelist = db.getStoreData(date, CommonString.KEY_JOURNEY_PLAN);
|
||||
}
|
||||
|
||||
private void startAutoSlide() {
|
||||
|
||||
if (sliderRunnable != null) {
|
||||
sliderHandler.removeCallbacks(sliderRunnable); // 🔥 prevent duplicate
|
||||
}
|
||||
|
||||
sliderRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
if (viewPager.getAdapter() == null) return;
|
||||
|
||||
int nextItem = (viewPager.getCurrentItem() + 1) %
|
||||
viewPager.getAdapter().getItemCount();
|
||||
|
||||
viewPager.setCurrentItem(nextItem, true);
|
||||
|
||||
sliderHandler.postDelayed(this, 3000); // 3 sec
|
||||
}
|
||||
};
|
||||
|
||||
sliderHandler.postDelayed(sliderRunnable, 3000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
if (drawer.isDrawerOpen(GravityCompat.START)) {
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
} else {
|
||||
// super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("StatementWithEmptyBody")
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(MenuItem item) {
|
||||
// Handle navigation view item clicks here.
|
||||
int id = item.getItemId();
|
||||
if (id == R.id.nav_route_plan) {
|
||||
Intent in_jcp = new Intent(this, StoreListActivity.class);
|
||||
in_jcp.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_JCP);
|
||||
startActivity(in_jcp);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_download) {
|
||||
downloadMethod();
|
||||
} else if (id == R.id.nav_upload) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle(getResources().getString(R.string.dialog_title));
|
||||
builder.setMessage(getResources().getString(R.string.want_to_upload)).setCancelable(false)
|
||||
.setPositiveButton(getResources().getString(R.string.ok), (dialog, id1) -> {
|
||||
db.open();
|
||||
if (checkNetIsAvailable()) {
|
||||
if (db.getSKUMasterData(null).isEmpty()) {
|
||||
Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT)
|
||||
.setAction("Action", null).show();
|
||||
} else {
|
||||
if (coverageList.isEmpty()) {
|
||||
Snackbar.make(webView, R.string.no_data_for_upload, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
} else {
|
||||
if (isStoreCheckedIn() && isValid()) {
|
||||
Intent i = new Intent(getBaseContext(), UploadActivity.class);
|
||||
startActivity(i);
|
||||
} else {
|
||||
Snackbar.make(webView, error_msg, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
}
|
||||
}).setNegativeButton(getResources().getString(R.string.cancel), (dialog, which) -> dialog.dismiss());
|
||||
AlertDialog alert = builder.create();
|
||||
alert.show();
|
||||
|
||||
} else if (id == R.id.nav_geotag) {
|
||||
if (!storelist.isEmpty()) {
|
||||
Intent startDownload = new Intent(this, GeoTagStoreList.class);
|
||||
startActivity(startDownload);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else {
|
||||
Snackbar.make(headerView, R.string.title_store_list_download_data, Snackbar.LENGTH_LONG).setAction("Action", null).show();
|
||||
}
|
||||
|
||||
} else if (id == R.id.nav_exit) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle(getResources().getString(R.string.dialog_title));
|
||||
builder.setMessage(getResources().getString(R.string.want_to_exit)).setCancelable(false)
|
||||
.setPositiveButton(getResources().getString(R.string.ok), (dialog, id12) -> {
|
||||
ActivityCompat.finishAffinity(MainActivity.this);
|
||||
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
|
||||
}).setNegativeButton(getResources().getString(R.string.cancel), (dialog, which) -> {
|
||||
dialog.dismiss();
|
||||
});
|
||||
AlertDialog alert = builder.create();
|
||||
alert.show();
|
||||
|
||||
} else if (id == R.id.nav_setting) {
|
||||
Intent startDownload = new Intent(this, SettingsActivity.class);
|
||||
startActivity(startDownload);
|
||||
finish();
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_services) {
|
||||
Intent startservice = new Intent(this, ServiceActivity.class);
|
||||
startActivity(startservice);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_future_jcp) {
|
||||
Intent startDownload = new Intent(this, FutureJCPActivity.class);
|
||||
startActivity(startDownload);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_planogram) {
|
||||
if (checkNetIsAvailable()) {
|
||||
Intent planogram_pdf = new Intent(this, PlanogramPDFActivity.class);
|
||||
startActivity(planogram_pdf);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else {
|
||||
Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
}
|
||||
|
||||
} else if (id == R.id.nav_deviation) {
|
||||
db.open();
|
||||
if (db.getSKUMasterData(null).isEmpty()) {
|
||||
Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
} else {
|
||||
Intent in = new Intent(this, StoreListActivity.class);
|
||||
in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_DEVIATION);
|
||||
startActivity(in);
|
||||
}
|
||||
} else if (id == R.id.nav_delivery_call) {
|
||||
Intent in = new Intent(this, DeliveryCallActivity.class);
|
||||
startActivity(in);
|
||||
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_pharmacy_stores) {
|
||||
Intent in = new Intent(this, StoreListActivity.class);
|
||||
in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_PHARMA);
|
||||
startActivity(in);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
} else if (id == R.id.nav_additional_stores) {
|
||||
db.open();
|
||||
if (db.getSKUMasterData(null).isEmpty()) {
|
||||
Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
} else {
|
||||
Intent in = new Intent(this, StoreListActivity.class);
|
||||
in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_ADDITIONAL);
|
||||
startActivity(in);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
}
|
||||
} else if (id == R.id.nav_additional_adhoc_stores) {
|
||||
db.open();
|
||||
if (db.getSKUMasterData(null).isEmpty()) {
|
||||
Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
} else {
|
||||
Intent in = new Intent(this, StoreListActivity.class);
|
||||
in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_ADDITIONAL_ADHOC);
|
||||
startActivity(in);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
}
|
||||
} else if (id == R.id.nav_counterfeit_indicator) {
|
||||
Intent intent = new Intent(this, CounterfeitIndicatorWebActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
|
||||
}
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
return true;
|
||||
}
|
||||
|
||||
private class MyWebViewClient extends WebViewClient {
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
view.loadUrl(url);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
imageView.setVisibility(View.GONE);
|
||||
webView.setVisibility(View.VISIBLE);
|
||||
super.onPageFinished(view, url);
|
||||
view.clearCache(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
||||
super.onPageStarted(view, url, favicon);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public boolean checkNetIsAvailable() {
|
||||
ConnectivityManager cm =
|
||||
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
|
||||
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
|
||||
boolean isConnected = activeNetwork != null &&
|
||||
activeNetwork.isConnectedOrConnecting();
|
||||
return isConnected;
|
||||
}
|
||||
|
||||
public boolean isStoreCheckedIn() {
|
||||
|
||||
boolean result_flag = true;
|
||||
for (int i = 0; i < coverageList.size(); i++) {
|
||||
|
||||
String status = coverageList.get(i).getStatus();
|
||||
if (status.equals(CommonString.KEY_INVALID) || status.equals(CommonString.KEY_VALID)) {
|
||||
result_flag = false;
|
||||
error_msg = getResources().getString(R.string.title_store_list_checkout_current);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result_flag;
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
boolean flag = false;
|
||||
String storestatus = "";
|
||||
for (int i = 0; i < coverageList.size(); i++) {
|
||||
|
||||
StoreBean store_data = db.getSpecificStoreData(date, coverageList.get(i).getStoreId(), coverageList.get(i).getFlag_from());
|
||||
|
||||
storestatus = store_data.getUPLOAD_STATUS();
|
||||
String coverage_status = store_data.getCHECKOUT_STATUS();
|
||||
|
||||
if (!storestatus.equalsIgnoreCase(CommonString.KEY_U) && !storestatus.equalsIgnoreCase(CommonString.KEY_UN)) {
|
||||
if ((coverage_status.equalsIgnoreCase(CommonString.KEY_Y) || storestatus.equalsIgnoreCase(CommonString.KEY_P) ||
|
||||
storestatus.equalsIgnoreCase(CommonString.STORE_STATUS_LEAVE))) {
|
||||
flag = true;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!flag)
|
||||
error_msg = getResources().getString(R.string.no_data_for_upload);
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
public boolean isPreviousValid(String visit_date) {
|
||||
boolean isvalid = false;
|
||||
ArrayList<CoverageBean> coverage_list = db.getPreviousCoverageData(visit_date, null);
|
||||
for (int i = 0; i < coverage_list.size(); i++) {
|
||||
StoreBean storeData = db.getSpecificStoreData(coverage_list.get(i).getVisitDate(), coverage_list.get(i).getStoreId(), coverage_list.get(i).getFlag_from());
|
||||
if (storeData.getSTORE_ID() != null) {
|
||||
|
||||
if (!storeData.getUPLOAD_STATUS().equals(CommonString.KEY_U) && !storeData.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_UN) && (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) ||
|
||||
storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_L) || storeData.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_P))) {
|
||||
isvalid = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return isvalid;
|
||||
}
|
||||
|
||||
//for download
|
||||
public void downloadMethod() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle(getResources().getString(R.string.dialog_title));
|
||||
builder.setMessage(getResources().getString(R.string.want_to_download)).setCancelable(false)
|
||||
.setPositiveButton(getResources().getString(R.string.ok), (dialog, id) -> {
|
||||
if (checkNetIsAvailable()) {
|
||||
boolean previousflag = false;
|
||||
if (db.isPreviousCoverageDataFilled(date)) {
|
||||
if (isPreviousValid(date)) {
|
||||
previousflag = true;
|
||||
} else {
|
||||
db.deletePreviousCoverageData(date);
|
||||
}
|
||||
}
|
||||
|
||||
if (previousflag) {
|
||||
AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
|
||||
builder1.setTitle("Parinaam");
|
||||
builder1.setMessage(getResources().getString(R.string.previous_data_upload)).setCancelable(false)
|
||||
.setPositiveButton(getResources().getString(R.string.ok), (dialog1, id1) -> {
|
||||
Intent in = new Intent(context, PreviousDataUploadActivity.class);
|
||||
startActivity(in);
|
||||
//finish();
|
||||
});
|
||||
AlertDialog alert = builder1.create();
|
||||
alert.show();
|
||||
|
||||
} else {
|
||||
Intent in = new Intent(context, DownloadActivity.class);
|
||||
startActivity(in);
|
||||
}
|
||||
} else {
|
||||
Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||
}
|
||||
}).setNegativeButton(getResources().getString(R.string.cancel), (dialog, which) -> {
|
||||
dialog.dismiss();
|
||||
});
|
||||
AlertDialog alert = builder.create();
|
||||
alert.show();
|
||||
|
||||
|
||||
}
|
||||
public class NoticeAdapter extends RecyclerView.Adapter<NoticeAdapter.ViewHolder> {
|
||||
|
||||
private List<NoticeItem> list;
|
||||
private OnItemClickListener listener;
|
||||
|
||||
// Interface for click handling
|
||||
public interface OnItemClickListener {
|
||||
void onClick(NoticeItem item);
|
||||
}
|
||||
|
||||
public NoticeAdapter(List<NoticeItem> list, OnItemClickListener listener) {
|
||||
this.list = list;
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
ImageView image;
|
||||
|
||||
public ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
image = itemView.findViewById(R.id.bannerImage);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NoticeAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.banner_item, parent, false);
|
||||
return new ViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(NoticeAdapter.ViewHolder holder, int position) {
|
||||
NoticeItem item = list.get(position);
|
||||
|
||||
String url = String.valueOf(item.getNoticeLink_Thumbnail());
|
||||
Glide.with(holder.itemView.getContext())
|
||||
.load(url)
|
||||
.transform(new RoundedCorners(30))
|
||||
.into(holder.image);
|
||||
|
||||
holder.itemView.setOnClickListener(v -> {
|
||||
if (listener != null) {
|
||||
listener.onClick(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list != null ? list.size() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Append storeid and merid to the provided URL as query parameters.
|
||||
* If the URL already contains query params, append with '&', otherwise use '?'.
|
||||
*/
|
||||
private String appendStoreMerQuery(String url, String storeId, String merId) {
|
||||
if (url == null) return null;
|
||||
try {
|
||||
StringBuilder sb = new StringBuilder(url);
|
||||
String separator = url.contains("?") ? "&" : "?";
|
||||
boolean appended = false;
|
||||
if (storeId != null && !storeId.isEmpty()) {
|
||||
sb.append(separator).append("storeid=").append(URLEncoder.encode(storeId, "UTF-8"));
|
||||
separator = "&";
|
||||
appended = true;
|
||||
}
|
||||
if (merId != null && !merId.isEmpty()) {
|
||||
sb.append(separator).append("merid=").append(URLEncoder.encode(merId, "UTF-8"));
|
||||
appended = true;
|
||||
}
|
||||
return sb.toString();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
public class MovableFloatingActionButton extends FloatingActionButton implements View.OnTouchListener {
|
||||
|
||||
private final static float CLICK_DRAG_TOLERANCE = 10; // Often, there will be a slight, unintentional, drag when the user taps the FAB, so we need to account for this.
|
||||
|
||||
private float downRawX, downRawY;
|
||||
private float dX, dY;
|
||||
|
||||
public MovableFloatingActionButton(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public MovableFloatingActionButton(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public MovableFloatingActionButton(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
setOnTouchListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouch(View view, MotionEvent motionEvent){
|
||||
|
||||
int action = motionEvent.getAction();
|
||||
if (action == MotionEvent.ACTION_DOWN) {
|
||||
|
||||
downRawX = motionEvent.getRawX();
|
||||
downRawY = motionEvent.getRawY();
|
||||
dX = view.getX() - downRawX;
|
||||
dY = view.getY() - downRawY;
|
||||
|
||||
return true; // Consumed
|
||||
|
||||
}
|
||||
else if (action == MotionEvent.ACTION_MOVE) {
|
||||
|
||||
int viewWidth = view.getWidth();
|
||||
int viewHeight = view.getHeight();
|
||||
|
||||
View viewParent = (View)view.getParent();
|
||||
int parentWidth = viewParent.getWidth();
|
||||
int parentHeight = viewParent.getHeight();
|
||||
|
||||
float newX = motionEvent.getRawX() + dX;
|
||||
newX = Math.max(0, newX); // Don't allow the FAB past the left hand side of the parent
|
||||
newX = Math.min(parentWidth - viewWidth, newX); // Don't allow the FAB past the right hand side of the parent
|
||||
|
||||
float newY = motionEvent.getRawY() + dY;
|
||||
newY = Math.max(0, newY); // Don't allow the FAB past the top of the parent
|
||||
newY = Math.min(parentHeight - viewHeight, newY); // Don't allow the FAB past the bottom of the parent
|
||||
|
||||
view.animate()
|
||||
.x(newX)
|
||||
.y(newY)
|
||||
.setDuration(0)
|
||||
.start();
|
||||
|
||||
return true; // Consumed
|
||||
|
||||
}
|
||||
else if (action == MotionEvent.ACTION_UP) {
|
||||
|
||||
float upRawX = motionEvent.getRawX();
|
||||
float upRawY = motionEvent.getRawY();
|
||||
|
||||
float upDX = upRawX - downRawX;
|
||||
float upDY = upRawY - downRawY;
|
||||
|
||||
if (Math.abs(upDX) < CLICK_DRAG_TOLERANCE && Math.abs(upDY) < CLICK_DRAG_TOLERANCE) { // A click
|
||||
return performClick();
|
||||
}
|
||||
else { // A drag
|
||||
return true; // Consumed
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
return super.onTouchEvent(motionEvent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.NoticeItem;
|
||||
|
||||
public class NoticeResponse implements Serializable {
|
||||
List<NoticeItem> Mer_NoticeBoard;
|
||||
|
||||
public NoticeResponse(List<NoticeItem> list) {
|
||||
this.Mer_NoticeBoard = list;
|
||||
}
|
||||
public List<NoticeItem> getMer_NoticeBoard() {
|
||||
return Mer_NoticeBoard;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package cpm.com.gskmtorange.Paralleldots;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
|
||||
public class PdJavaImageActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_pd_java_image);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Locale;
|
||||
|
||||
import cpm.com.gskmtorange.constant.CommonFunctions;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
import cpm.com.gskmtorange.password.MPinActivity;
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.LoginGetterSetter;
|
||||
|
||||
public class SelectLanguageActivity extends AppCompatActivity implements View.OnClickListener {
|
||||
Button btn_lang_1, btn_lang_2;
|
||||
private Context context;
|
||||
private SharedPreferences preferences = null;
|
||||
private SharedPreferences.Editor editor = null;
|
||||
LoginGetterSetter login_data;
|
||||
ArrayList<String> language, culture_id;
|
||||
boolean selected_flag = false;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_select_language);
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
context = this;
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
editor = preferences.edit();
|
||||
btn_lang_1 = (Button) findViewById(R.id.btn_language_one);
|
||||
btn_lang_2 = (Button) findViewById(R.id.btn_language_two);
|
||||
login_data = (LoginGetterSetter) getIntent().getSerializableExtra(CommonString.KEY_LOGIN_DATA);
|
||||
language = login_data.getCULTURE_NAME();
|
||||
culture_id = login_data.getCULTURE_ID();
|
||||
setDataFromSharedPreferences(login_data);
|
||||
if (language.size() > 1) {
|
||||
btn_lang_1.setText(language.get(0));
|
||||
btn_lang_2.setText(language.get(1));
|
||||
btn_lang_1.setOnClickListener(this);
|
||||
btn_lang_2.setOnClickListener(this);
|
||||
}
|
||||
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (selected_flag) {
|
||||
/* Intent intent = new Intent(getBaseContext(),
|
||||
MainActivity.class);
|
||||
intent.putExtra(CommonString.KEY_LOGIN_DATA, login_data);
|
||||
startActivity(intent);
|
||||
finish();*/
|
||||
|
||||
Intent in = new Intent(context, MPinActivity.class);
|
||||
in.putExtra(CommonString.IS_PASSWORD_CHECK, false);
|
||||
startActivity(in);
|
||||
finish();
|
||||
|
||||
} else {
|
||||
Snackbar.make(view, getString(R.string.select_language), Snackbar.LENGTH_LONG)
|
||||
.setAction("Action", null).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
int id = view.getId();
|
||||
|
||||
if (id == R.id.btn_language_one) {
|
||||
selected_flag = true;
|
||||
CommonFunctions.updateLangResources(context, language.get(0));
|
||||
btn_lang_1.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
|
||||
btn_lang_1.setTextColor(getResources().getColor(R.color.white));
|
||||
btn_lang_2.setTextColor(getResources().getColor(R.color.black));
|
||||
btn_lang_2.setBackgroundColor(getResources().getColor(R.color.grey_background));
|
||||
editor.putString(CommonString.KEY_LANGUAGE, language.get(0));
|
||||
editor.putString(CommonString.KEY_CULTURE_ID, culture_id.get(0));
|
||||
editor.putString(CommonString.KEY_NOTICE_BOARD_LINK, login_data.getNOTICE_URL().get(0));
|
||||
editor.commit();
|
||||
|
||||
} else if (id == R.id.btn_language_two) {
|
||||
selected_flag = true;
|
||||
CommonFunctions.updateLangResources(context, language.get(1));
|
||||
btn_lang_1.setBackgroundColor(getResources().getColor(R.color.grey_background));
|
||||
btn_lang_1.setTextColor(getResources().getColor(R.color.black));
|
||||
btn_lang_2.setTextColor(getResources().getColor(R.color.white));
|
||||
btn_lang_2.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
|
||||
editor.putString(CommonString.KEY_LANGUAGE, language.get(1));
|
||||
editor.putString(CommonString.KEY_CULTURE_ID, culture_id.get(1));
|
||||
editor.putString(CommonString.KEY_NOTICE_BOARD_LINK, login_data.getNOTICE_URL().get(1));
|
||||
editor.commit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void setDataFromSharedPreferences(LoginGetterSetter lgs) {
|
||||
Gson gson = new Gson();
|
||||
String jsonCurProduct = gson.toJson(lgs);
|
||||
SharedPreferences.Editor editor = preferences.edit();
|
||||
editor.putString(CommonString.KEY_LOOGIN_PREF, jsonCurProduct);
|
||||
editor.commit();
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
package cpm.com.gskmtorange;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.PixelFormat;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
import cpm.com.gskmtorange.password.MPinActivity;
|
||||
|
||||
public class SplashScreenActivity extends AppCompatActivity {
|
||||
|
||||
private static int SPLASH_TIME_OUT = 3000;
|
||||
LinearLayout linearLayout;
|
||||
private Context context;
|
||||
private SharedPreferences preferences = null;
|
||||
|
||||
/* public void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
Window window = getWindow();
|
||||
window.setFormat(PixelFormat.RGBA_8888);
|
||||
}*/
|
||||
|
||||
/**
|
||||
* Called when the activity is first created.
|
||||
*/
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
context = this;
|
||||
try {
|
||||
// Optional: hide the status bar safely
|
||||
getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
);
|
||||
}catch (Exception ignored){}
|
||||
setContentView(R.layout.activity_splash_main_layout);
|
||||
linearLayout = findViewById(R.id.lin_lay);
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
startSplashTimer();
|
||||
}
|
||||
|
||||
|
||||
private void sendToLogin() {
|
||||
try {
|
||||
String mpin = preferences.getString(CommonString.MPIN, null);
|
||||
Intent intent;
|
||||
if (mpin != null) {
|
||||
intent = new Intent(this, MPinActivity.class);
|
||||
intent.putExtra(CommonString.IS_PASSWORD_CHECK, true);
|
||||
} else {
|
||||
intent = new Intent(this, LoginActivity.class);
|
||||
}
|
||||
startActivity(intent);
|
||||
finish();
|
||||
} catch (Exception ignored) {} finally {
|
||||
String mpin = preferences.getString(CommonString.MPIN, null);
|
||||
Intent intent;
|
||||
if (mpin != null) {
|
||||
intent = new Intent(this, MPinActivity.class);
|
||||
intent.putExtra(CommonString.IS_PASSWORD_CHECK, true);
|
||||
} else {
|
||||
intent = new Intent(this, LoginActivity.class);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void startSplashTimer() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(this::sendToLogin, 3000);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
import cpm.com.gskmtorange.listener.DragListener;
|
||||
import cpm.com.gskmtorange.listener.Listener;
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter;
|
||||
|
||||
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder>
|
||||
implements View.OnTouchListener {
|
||||
|
||||
private List<NoCameraDataGetterSetter> list;
|
||||
private Listener listener;
|
||||
|
||||
public ListAdapter(List<NoCameraDataGetterSetter> list, Listener listener) {
|
||||
this.list = list;
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(
|
||||
parent.getContext()).inflate(R.layout.brand_item_top_item, parent, false);
|
||||
return new ListViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ListViewHolder holder, int position) {
|
||||
holder.text.setText(list.get(position).getSKUGROUP_NAME());
|
||||
holder.linear_parent.setTag(position);
|
||||
holder.linear_parent.setOnTouchListener(this);
|
||||
holder.linear_parent.setOnDragListener(new DragListener(listener));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return list.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
ClipData data = ClipData.newPlainText("", "");
|
||||
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
v.startDragAndDrop(data, shadowBuilder, v, 0);
|
||||
} else {
|
||||
v.startDrag(data, shadowBuilder, v, 0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<NoCameraDataGetterSetter> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
void updateList(List<NoCameraDataGetterSetter> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
public DragListener getDragInstance() {
|
||||
if (listener != null) {
|
||||
return new DragListener(listener);
|
||||
} else {
|
||||
Log.e("ListAdapter", "Listener wasn't initialized!");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
class ListViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
TextView text;
|
||||
LinearLayout linear_parent;
|
||||
|
||||
ListViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
|
||||
text = (TextView) itemView.findViewById(R.id.tv_brand);
|
||||
linear_parent = (LinearLayout) itemView.findViewById(R.id.linear_parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
import cpm.com.gskmtorange.listener.DragListener;
|
||||
import cpm.com.gskmtorange.listener.Listener;
|
||||
import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter;
|
||||
|
||||
/**
|
||||
* Created by yadavendras on 17-10-2017.
|
||||
*/
|
||||
|
||||
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
|
||||
|
||||
private LayoutInflater inflator;
|
||||
|
||||
List<NoCameraDataGetterSetter> data = Collections.emptyList();
|
||||
private Listener listener;
|
||||
RecyclerView rec;
|
||||
|
||||
public MyAdapter(Context context, List<NoCameraDataGetterSetter> data, Listener listener, RecyclerView rec) {
|
||||
|
||||
inflator = LayoutInflater.from(context);
|
||||
this.data = data;
|
||||
this.listener = listener;
|
||||
this.rec = rec;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view = inflator.inflate(R.layout.brand_item, parent, false);
|
||||
|
||||
MyAdapter.MyViewHolder holder = new MyAdapter.MyViewHolder(view);
|
||||
|
||||
return holder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(MyViewHolder holder, final int position) {
|
||||
|
||||
final NoCameraDataGetterSetter current = data.get(position);
|
||||
|
||||
if(current.getSKUGROUP_ID()!=null){
|
||||
if(current.getSKUGROUP_ID().equals("-1")){
|
||||
holder.parent_card.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
else {
|
||||
holder.parent_card.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
LinearLayout.LayoutParams lprams = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.MATCH_PARENT,
|
||||
LinearLayout.LayoutParams.MATCH_PARENT);
|
||||
|
||||
int width;
|
||||
if(current.isVertical()){
|
||||
width = current.getFacing()* CommonString.UNIT_VERTICAL;
|
||||
}
|
||||
else {
|
||||
width = current.getFacing()* CommonString.UNIT_HORIZONTAL;
|
||||
}
|
||||
|
||||
lprams.width = width;
|
||||
lprams.setMargins(2,0,0,0);
|
||||
holder.parent_card.setLayoutParams(lprams);
|
||||
}
|
||||
|
||||
final String name = current.getSKUGROUP_NAME();
|
||||
|
||||
holder.name.setText(name);
|
||||
holder.tv_facing.setText(current.getFacing()+"");
|
||||
|
||||
holder.linear_parent.setTag(position);
|
||||
//holder.linear_parent.getLayoutParams().width = 100;
|
||||
//holder.linear_parent.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
|
||||
holder.linear_parent.setOnDragListener(new DragListener(listener));
|
||||
|
||||
holder.linear_parent.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
//Blank item cannot be edited or deleted
|
||||
if(!current.getSKUGROUP_ID().equals("-1")){
|
||||
listener.deleteItem(view, position, rec,current);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public DragListener getDragInstance() {
|
||||
if (listener != null) {
|
||||
return new DragListener(listener);
|
||||
} else {
|
||||
Log.e("ListAdapter", "Listener wasn't initialized!");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return data.size();
|
||||
}
|
||||
|
||||
public List<NoCameraDataGetterSetter> getList() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void updateList(List<NoCameraDataGetterSetter> list) {
|
||||
this.data = list;
|
||||
}
|
||||
|
||||
|
||||
class MyViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
TextView name;
|
||||
TextView tv_facing;
|
||||
LinearLayout linear_parent;
|
||||
CardView parent_card;
|
||||
|
||||
public MyViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
name = (TextView) itemView.findViewById(R.id.tv_brand);
|
||||
tv_facing = (TextView) itemView.findViewById(R.id.tv_facing);
|
||||
linear_parent = (LinearLayout) itemView.findViewById(R.id.linear_parent);
|
||||
parent_card = (CardView) itemView.findViewById(R.id.parent_card);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import cpm.com.gskmtorange.GetterSetter.CategoryPictureGetterSetter
|
||||
import cpm.com.gskmtorange.R
|
||||
import cpm.com.gskmtorange.adapter.data.ImageUri
|
||||
import cpm.com.gskmtorange.databinding.ItemRealtimePdBinding
|
||||
|
||||
class RealtimeAdapter(
|
||||
val category: String?,
|
||||
var context: Context,
|
||||
private var subcates: ArrayList<CategoryPictureGetterSetter>?,
|
||||
private val btnlistener: BtnClickListener,
|
||||
) : RecyclerView.Adapter<RealtimeAdapter.CustomViewHolder>() {
|
||||
class CustomViewHolder(view: View) : RecyclerView.ViewHolder(view)
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = CustomViewHolder(
|
||||
ItemRealtimePdBinding.inflate(LayoutInflater.from(context), parent, false).root
|
||||
)
|
||||
|
||||
@SuppressLint(
|
||||
"NotifyDataSetChanged", "ClickableViewAccessibility",
|
||||
"UseCompatLoadingForDrawables", "SetTextI18n"
|
||||
)
|
||||
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
|
||||
ItemRealtimePdBinding.bind(holder.itemView).apply {
|
||||
val subcat = subcates!![position]
|
||||
tvSubCategory.text = "$category-${subcat.suB_CATEGORY}"
|
||||
analyticBT.text = context.getString(R.string.view_report_pd)
|
||||
analyticBT.setOnClickListener {
|
||||
btnlistener.onStartSessionClick(position, subcat)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return subcates!!.size
|
||||
}
|
||||
|
||||
interface BtnClickListener {
|
||||
fun onStartSessionClick(_pos: Int, data: CategoryPictureGetterSetter)
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
fun addsubCatItems(langList: ArrayList<CategoryPictureGetterSetter>?) {
|
||||
subcates = langList
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
fun updateItem(position: Int, uris: List<ImageUri>) {
|
||||
subcates!![position].imageUris = (subcates!![position].imageUris
|
||||
?: ArrayList()).apply { addAll(uris as ArrayList<ImageUri>) }
|
||||
notifyItemChanged(position)
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.imageview.ShapeableImageView
|
||||
import cpm.com.gskmtorange.R
|
||||
import cpm.com.gskmtorange.adapter.data.ImageUri
|
||||
import cpm.com.gskmtorange.constant.CommonUtils.imgPreviewwithError
|
||||
|
||||
class SavedImagesAdapter(private val context: Context, private val images: List<ImageUri>) :
|
||||
RecyclerView.Adapter<SavedImagesAdapter.SavedImageViewHolder>() {
|
||||
|
||||
class SavedImageViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
||||
val imageView: ShapeableImageView = view.findViewById(R.id.imageView)
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SavedImageViewHolder {
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
.inflate(R.layout.item_image, parent, false)
|
||||
return SavedImageViewHolder(view)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: SavedImageViewHolder, position: Int) {
|
||||
Log.d("imagedata",images[position].uri)
|
||||
imgPreviewwithError(
|
||||
context = context,
|
||||
url = images[position].uri,
|
||||
imgView = holder.imageView,
|
||||
R.drawable.pdr
|
||||
)
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = images.size
|
||||
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import cpm.com.gskmtorange.dailyentry.WebViewActivity
|
||||
import cpm.com.gskmtorange.databinding.ItemCategoryScoreBinding
|
||||
import cpm.com.gskmtorange.databinding.ItemOverallScoreBinding
|
||||
import cpm.com.gskmtorange.databinding.ItemPdImageBinding
|
||||
import cpm.com.gskmtorange.utils.ScoreItem
|
||||
|
||||
class ScoreAdapter(private val items: List<ScoreItem>) :
|
||||
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
|
||||
private val TYPE_OVERALL = 0
|
||||
private val TYPE_CATEGORY = 1
|
||||
private val TYPE_IMAGE = 2
|
||||
|
||||
override fun getItemViewType(position: Int): Int {
|
||||
return when (items[position]) {
|
||||
is ScoreItem.OverallScore -> TYPE_OVERALL
|
||||
is ScoreItem.CategoryScore -> TYPE_CATEGORY
|
||||
is ScoreItem.ImageItem -> TYPE_IMAGE
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
val inflater = LayoutInflater.from(parent.context)
|
||||
return when (viewType) {
|
||||
TYPE_OVERALL -> {
|
||||
val binding = ItemOverallScoreBinding.inflate(inflater, parent, false)
|
||||
OverallViewHolder(binding)
|
||||
}
|
||||
TYPE_CATEGORY -> {
|
||||
val binding = ItemCategoryScoreBinding.inflate(inflater, parent, false)
|
||||
CategoryViewHolder(binding)
|
||||
}
|
||||
TYPE_IMAGE -> {
|
||||
val binding = ItemPdImageBinding.inflate(inflater, parent, false)
|
||||
ImageViewHolder(binding)
|
||||
}
|
||||
else -> throw IllegalArgumentException("Invalid view type")
|
||||
}
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
when (val item = items[position]) {
|
||||
is ScoreItem.OverallScore -> (holder as OverallViewHolder).bind(item)
|
||||
is ScoreItem.CategoryScore -> (holder as CategoryViewHolder).bind(item)
|
||||
is ScoreItem.ImageItem -> (holder as ImageViewHolder).bind(item)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = items.size
|
||||
|
||||
class OverallViewHolder(private val binding: ItemOverallScoreBinding) :
|
||||
RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(item: ScoreItem.OverallScore) {
|
||||
binding.tvOsa.text = "OSA: ${item.osa}"
|
||||
binding.tvMsl.text = "MSL: ${item.msl}"
|
||||
binding.tvPosm.text = "POSM: ${item.posm}"
|
||||
binding.tvSosSku.text = "SOS (SKU): ${item.sosSku}"
|
||||
binding.tvSosBrand.text = "SOS (Brand): ${item.sosBrand}"
|
||||
}
|
||||
}
|
||||
|
||||
class CategoryViewHolder(private val binding: ItemCategoryScoreBinding) :
|
||||
RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(item: ScoreItem.CategoryScore) {
|
||||
binding.tvCategory.text = item.categoryName
|
||||
binding.tvMsl.text = "MSL: ${item.msl}"
|
||||
binding.tvPosm.text = "POSM: ${item.posm}"
|
||||
binding.tvSosSku.text = "SOS (SKU): ${item.sosSku}"
|
||||
binding.tvSosBrand.text = "SOS (Brand): ${item.sosBrand}"
|
||||
|
||||
binding.layoutBrands.removeAllViews()
|
||||
for (brand in item.brandDetails) {
|
||||
val tv = TextView(binding.root.context)
|
||||
tv.text = "${brand.first}: ${brand.second}"
|
||||
binding.layoutBrands.addView(tv)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ImageViewHolder(private val binding: ItemPdImageBinding) :
|
||||
RecyclerView.ViewHolder(binding.root) {
|
||||
|
||||
fun bind(item: ScoreItem.ImageItem) {
|
||||
Log.d("itemuri",item.url)
|
||||
/* binding.btnViewImage.setOnClickListener {
|
||||
val context = binding.root.context
|
||||
val intent = Intent(context, WebViewActivity::class.java)
|
||||
intent.putExtra("url", item.url)
|
||||
context.startActivity(intent)
|
||||
}*/
|
||||
val actualUrl = if (item.url.contains("?url=")) {
|
||||
item.url.substringAfter("?url=") // extract the real image link
|
||||
} else item.url
|
||||
|
||||
Glide.with(binding.ivRawImage.context)
|
||||
.load(actualUrl)
|
||||
//.placeholder(R.drawable.ic_placeholder) // optional
|
||||
// .error(R.drawable.ic_broken_image) // fallback if fail
|
||||
.into(binding.ivRawImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import cpm.com.gskmtorange.GetterSetter.CategoryPictureGetterSetter
|
||||
import cpm.com.gskmtorange.adapter.data.ImageUri
|
||||
import cpm.com.gskmtorange.databinding.ItemSubcategoryPdBinding
|
||||
|
||||
class SubCatPdAdapter(
|
||||
val category: String?,
|
||||
var context: Context,
|
||||
private var subcates: ArrayList<CategoryPictureGetterSetter>?,
|
||||
private val btnlistener: BtnClickListener,
|
||||
) : RecyclerView.Adapter<SubCatPdAdapter.CustomViewHolder>() {
|
||||
class CustomViewHolder(view: View) : RecyclerView.ViewHolder(view)
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = CustomViewHolder(
|
||||
ItemSubcategoryPdBinding.inflate(LayoutInflater.from(context), parent, false).root
|
||||
)
|
||||
|
||||
@SuppressLint(
|
||||
"NotifyDataSetChanged", "ClickableViewAccessibility",
|
||||
"UseCompatLoadingForDrawables", "SetTextI18n"
|
||||
)
|
||||
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
|
||||
ItemSubcategoryPdBinding.bind(holder.itemView).apply {
|
||||
val subcat = subcates!![position]
|
||||
tvSubCategory.text = "$category - ${subcat.suB_CATEGORY}"
|
||||
imgStartSession.setOnClickListener {
|
||||
btnlistener.onStartSessionClick(_pos = position, data = subcat)
|
||||
}
|
||||
|
||||
val savedImagesAdapter =
|
||||
SavedImagesAdapter(context = context, images = subcat.imageUris)
|
||||
imgRecycler.adapter = savedImagesAdapter
|
||||
imgRecycler.setLayoutManager(GridLayoutManager(context, 3))
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return subcates!!.size
|
||||
}
|
||||
|
||||
interface BtnClickListener {
|
||||
fun onStartSessionClick(_pos: Int, data: CategoryPictureGetterSetter)
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
fun addsubCatItems(langList: ArrayList<CategoryPictureGetterSetter>?) {
|
||||
subcates = langList
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
fun updateItem(position: Int, uris: List<ImageUri>) {
|
||||
subcates!![position].imageUris = (subcates!![position].imageUris
|
||||
?: ArrayList()).apply { addAll(uris as ArrayList<ImageUri>) }
|
||||
notifyItemChanged(position)
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
package cpm.com.gskmtorange.adapter.data
|
||||
|
||||
data class ImageUri(val uri: String, val modify_uri: String)
|
||||
@@ -1,306 +0,0 @@
|
||||
package cpm.com.gskmtorange.autoupdate;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.Locale;
|
||||
|
||||
import cpm.com.gskmtorange.LoginActivity;
|
||||
import cpm.com.gskmtorange.R;
|
||||
import cpm.com.gskmtorange.constant.CommonFunctions;
|
||||
import cpm.com.gskmtorange.constant.CommonString;
|
||||
|
||||
public class AutoUpdateActivity extends AppCompatActivity {
|
||||
private Context context;
|
||||
String versionCode;
|
||||
int length;
|
||||
private Dialog dialog;
|
||||
private ProgressBar pb;
|
||||
private TextView percentage, message;
|
||||
private Data data;
|
||||
String path = "", p, s;
|
||||
ProgressBar progressBar;
|
||||
private boolean status;
|
||||
private SharedPreferences preferences;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_login);
|
||||
Intent intent = getIntent();
|
||||
context = this;
|
||||
path = intent.getStringExtra(CommonString.KEY_PATH);
|
||||
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
|
||||
|
||||
CommonFunctions.updateLangResources(context, preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setTitle("Parinaam");
|
||||
builder.setMessage(getString(R.string.new_update_available))
|
||||
.setCancelable(false)
|
||||
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
|
||||
SharedPreferences preferences = PreferenceManager
|
||||
.getDefaultSharedPreferences(AutoUpdateActivity.this);
|
||||
SharedPreferences.Editor editor = preferences.edit();
|
||||
editor.clear();
|
||||
editor.commit();
|
||||
|
||||
/*new File(
|
||||
"/data/data/com.cpm.gsk_mt/databases/GTMT_DATABASE")
|
||||
.delete();*/
|
||||
|
||||
new DownloadTask(AutoUpdateActivity.this).execute();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
AlertDialog alert = builder.create();
|
||||
|
||||
alert.show();
|
||||
|
||||
}
|
||||
|
||||
private class DownloadTask extends AsyncTask<Void, Data, String> {
|
||||
|
||||
private Context context;
|
||||
|
||||
DownloadTask(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
|
||||
super.onPreExecute();
|
||||
|
||||
dialog = new Dialog(context);
|
||||
dialog.setContentView(R.layout.custom_layout);
|
||||
dialog.setTitle("Download");
|
||||
dialog.setCancelable(false);
|
||||
dialog.show();
|
||||
|
||||
pb = (ProgressBar) dialog.findViewById(R.id.progressBar1);
|
||||
percentage = (TextView) dialog.findViewById(R.id.percentage);
|
||||
message = (TextView) dialog.findViewById(R.id.message);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(Void... params) {
|
||||
|
||||
try {
|
||||
data = new Data();
|
||||
data.name = "Downloading Application";
|
||||
publishProgress(data);
|
||||
|
||||
versionCode = getPackageManager().getPackageInfo(
|
||||
getPackageName(), 0).versionName;
|
||||
|
||||
data.name = "Upgrading Version : " + versionCode;
|
||||
publishProgress(data);
|
||||
|
||||
// download application
|
||||
URL url = new URL(path);
|
||||
HttpURLConnection c = (HttpURLConnection) url.openConnection();
|
||||
c.setRequestMethod("GET");
|
||||
// c.setDoOutput(true);
|
||||
c.getResponseCode();
|
||||
c.connect();
|
||||
length = c.getContentLength();
|
||||
|
||||
String size = new DecimalFormat("##.##")
|
||||
.format((double) ((double) length / 1024) / 1024)
|
||||
+ " MB";
|
||||
Log.e("appsize",size);
|
||||
|
||||
/*String PATH = Environment.getExternalStorageDirectory()
|
||||
+ "/download/";*/
|
||||
String PATH = CommonString.getApkFolder(context);
|
||||
File file = new File(PATH);
|
||||
// file.mkdirs();
|
||||
File outputFile = new File(file, "app.apk");
|
||||
FileOutputStream fos = new FileOutputStream(outputFile);
|
||||
|
||||
InputStream is = c.getInputStream();
|
||||
|
||||
int bytes = 0;
|
||||
byte[] buffer = new byte[1024];
|
||||
int len1 = 0;
|
||||
|
||||
while ((len1 = is.read(buffer)) != -1) {
|
||||
|
||||
bytes = (bytes + len1);
|
||||
|
||||
s = new DecimalFormat("##.##")
|
||||
.format((double) ((double) (bytes / 1024)) / 1024);
|
||||
|
||||
p = s.length() == 3 ? s + "0" : s;
|
||||
|
||||
p = p + " MB";
|
||||
data.value = (int) ((double) (((double) bytes) / length) * 100);
|
||||
|
||||
data.name = "Download " + p + "/" + size;
|
||||
publishProgress(data);
|
||||
|
||||
fos.write(buffer, 0, len1);
|
||||
|
||||
}
|
||||
fos.close();
|
||||
is.close();
|
||||
|
||||
return CommonString.KEY_SUCCESS;
|
||||
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
/* final AlertMessage message = new AlertMessage(
|
||||
AutoUpdateActivity.this,
|
||||
AlertMessage.MESSAGE_EXCEPTION, "download", e);*/
|
||||
runOnUiThread(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// TODO Auto-generated method stub
|
||||
showAlert(CommonString.MESSAGE_EXCEPTION);
|
||||
}
|
||||
});
|
||||
} catch (MalformedURLException e) {
|
||||
|
||||
/* final AlertMessage message = new AlertMessage(
|
||||
AutoUpdateActivity.this,
|
||||
AlertMessage.MESSAGE_EXCEPTION, "download", e);*/
|
||||
runOnUiThread(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
showAlert(CommonString.MESSAGE_EXCEPTION);
|
||||
}
|
||||
});
|
||||
|
||||
} catch (IOException e) {
|
||||
/* final AlertMessage message = new AlertMessage(
|
||||
AutoUpdateActivity.this,
|
||||
AlertMessage.MESSAGE_SOCKETEXCEPTION, "update", e);*/
|
||||
runOnUiThread(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// TODO Auto-generated method stub
|
||||
showAlert(CommonString.MESSAGE_SOCKETEXCEPTION);
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
/* final AlertMessage message = new AlertMessage(
|
||||
AutoUpdateActivity.this,
|
||||
AlertMessage.MESSAGE_EXCEPTION, "download", e);*/
|
||||
runOnUiThread(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
showAlert(CommonString.MESSAGE_EXCEPTION);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(Data... values) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
pb.setProgress(values[0].value);
|
||||
percentage.setText(values[0].value + "%");
|
||||
message.setText(values[0].name);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
|
||||
super.onPostExecute(result);
|
||||
dialog.dismiss();
|
||||
|
||||
if (result.equals(CommonString.KEY_SUCCESS)) {
|
||||
|
||||
/* File toInstall = new File(Environment.getExternalStorageDirectory()
|
||||
+ "/download/"
|
||||
+ "app.apk");*/
|
||||
File toInstall = new File(CommonString.getApkFolder(context) + "app.apk");
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
Uri apkUri = FileProvider.getUriForFile(context, "cpm.com.gskmtorange.fileprovider", toInstall);
|
||||
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
|
||||
intent.setData(apkUri);
|
||||
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||
startActivity(intent);
|
||||
} else {
|
||||
Uri apkUri = Uri.fromFile(toInstall);
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
AutoUpdateActivity.this.finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Data {
|
||||
int value;
|
||||
String name;
|
||||
}
|
||||
|
||||
public void showAlert(String str) {
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(AutoUpdateActivity.this);
|
||||
builder.setTitle("Parinaam");
|
||||
builder.setMessage(str).setCancelable(false)
|
||||
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
|
||||
/* Intent i = new Intent(activity, StorelistActivity.class);
|
||||
activity.startActivity(i);
|
||||
activity.finish();*/
|
||||
finish();
|
||||
}
|
||||
});
|
||||
AlertDialog alert = builder.create();
|
||||
alert.show();
|
||||
}
|
||||
}
|
||||
@@ -1,241 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/16.
|
||||
*/
|
||||
|
||||
public class BigButtonView extends FrameLayout {
|
||||
|
||||
private FrameLayout frameLayout;
|
||||
private View clickEffect;
|
||||
private TextView text;
|
||||
private TextView subText;
|
||||
private String textString = "";
|
||||
private String subTextString = "";
|
||||
private ObjectAnimator clickEffectAnimator;
|
||||
private int duration = 500;
|
||||
private OnPressListener onPressListener;
|
||||
|
||||
public BigButtonView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public BigButtonView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
LayoutInflater.from(context).inflate(R.layout.big_button_view, this, true);
|
||||
|
||||
Resources resources = getResources();
|
||||
|
||||
frameLayout = (FrameLayout)findViewById(R.id.frame_layout);
|
||||
|
||||
text = (TextView)findViewById(R.id.text);
|
||||
text.setText(textString);
|
||||
text.setTextColor(ContextCompat.getColor(context, R.color.default_big_button_text_color));
|
||||
text.setTextSize(resources.getInteger(R.integer.default_big_button_text_size));
|
||||
|
||||
subText = (TextView)findViewById(R.id.sub_text);
|
||||
subText.setText(subTextString);
|
||||
subText.setTextColor(ContextCompat.getColor(context, R.color.default_big_button_sub_text_color));
|
||||
subText.setTextSize(resources.getInteger(R.integer.default_big_button_sub_text_size));
|
||||
|
||||
clickEffect = findViewById(R.id.click_effect);
|
||||
clickEffect.setAlpha(0);
|
||||
clickEffectAnimator = ObjectAnimator.ofFloat(clickEffect, "alpha", 1f, 0f);
|
||||
clickEffectAnimator.setDuration(duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the listener, for returning what happened to BlurLockView.
|
||||
*
|
||||
* @param onPressListener OnPressListener.
|
||||
*/
|
||||
public void setOnPressListener(OnPressListener onPressListener) {
|
||||
this.onPressListener = onPressListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the width of the button.
|
||||
*
|
||||
* @param width Width, in pixels.
|
||||
*/
|
||||
public void setWidth(int width) {
|
||||
ViewGroup.LayoutParams layoutParams = frameLayout.getLayoutParams();
|
||||
layoutParams.width = width;
|
||||
frameLayout.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the height of the button.
|
||||
*
|
||||
* @param height Height, in pixels.
|
||||
*/
|
||||
public void setHeight(int height) {
|
||||
ViewGroup.LayoutParams layoutParams = frameLayout.getLayoutParams();
|
||||
layoutParams.height = height;
|
||||
frameLayout.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the resource of background.
|
||||
*
|
||||
* @param resourceId ResourceId.
|
||||
*/
|
||||
public void setBackground(int resourceId) {
|
||||
frameLayout.setBackgroundResource(resourceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the resource of click effect.
|
||||
*
|
||||
* @param resourceId ResourceId.
|
||||
*/
|
||||
public void setEffect(int resourceId) {
|
||||
clickEffect.setBackgroundResource(resourceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the duration of the effect.
|
||||
*
|
||||
* @param duration Duration, in ms.
|
||||
*/
|
||||
public void setEffectDuration(int duration) {
|
||||
this.duration = duration;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text size of the main text.
|
||||
*
|
||||
* @param size Text size, in sp.
|
||||
*/
|
||||
public void setTextSize(int size) {
|
||||
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text size of the sub text.
|
||||
*
|
||||
* @param size Text size, in sp.
|
||||
*/
|
||||
public void setSubTextSize(int size) {
|
||||
subText.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text color of main text.
|
||||
*
|
||||
* @param color Color.
|
||||
*/
|
||||
public void setTextColor(int color) {
|
||||
text.setTextColor(color);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text color of sub text.
|
||||
*
|
||||
* @param color Color.
|
||||
*/
|
||||
public void setSubTextColor(int color) {
|
||||
subText.setTextColor(color);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set font of button.
|
||||
*
|
||||
* @param typeFace New font.
|
||||
*/
|
||||
public void setTypeFace(Typeface typeFace) {
|
||||
text.setTypeface(typeFace);
|
||||
subText.setTypeface(typeFace);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the string of the text.
|
||||
*
|
||||
* @param textString The new string.
|
||||
*/
|
||||
public void setText(String textString) {
|
||||
this.textString = textString;
|
||||
if (text != null) text.setText(textString);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the string of the sub text.
|
||||
*
|
||||
* @param subTextString The new string.
|
||||
*/
|
||||
public void setSubText(String subTextString) {
|
||||
this.subTextString = subTextString;
|
||||
if (subText != null) subText.setText(subTextString);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the visibility of sub textview.
|
||||
*
|
||||
* @param visibility The visibility.
|
||||
*/
|
||||
public void setSubTextVisibility(int visibility) {
|
||||
if (visibility == GONE) {
|
||||
text.setGravity(Gravity.CENTER);
|
||||
} else {
|
||||
text.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
|
||||
}
|
||||
subText.setVisibility(visibility);
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform the click effect.
|
||||
*
|
||||
* @param event MotionEvent.
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||
switch(event.getAction()){
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
if (onPressListener != null) onPressListener.onPress(textString);
|
||||
clickEffectAnimator.cancel();
|
||||
clickEffect.setAlpha(1);
|
||||
break;
|
||||
case MotionEvent.ACTION_UP:
|
||||
clickEffectAnimator.start();
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
|
||||
return super.dispatchTouchEvent(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the animation.
|
||||
*/
|
||||
public void clearAnimation() {
|
||||
if (clickEffect.getAlpha() == 1) {
|
||||
clickEffectAnimator.cancel();
|
||||
clickEffectAnimator.start();
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnPressListener {
|
||||
void onPress(String string);
|
||||
}
|
||||
}
|
||||
@@ -1,871 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Display;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
import cpm.com.gskmtorange.blurlockview.Directions.HideType;
|
||||
import cpm.com.gskmtorange.blurlockview.Directions.ShowType;
|
||||
import cpm.com.gskmtorange.blurlockview.Eases.EaseType;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/16.
|
||||
*/
|
||||
public class BlurLockView extends FrameLayout
|
||||
implements
|
||||
BigButtonView.OnPressListener,
|
||||
SmallButtonView.OnPressListener {
|
||||
|
||||
private final char CHARS[][] = {
|
||||
{'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'},
|
||||
{'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'},
|
||||
{ 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L' },
|
||||
{ 'Z', 'X', 'C', 'V', 'B', 'N', 'M' }
|
||||
};
|
||||
|
||||
private Password type = Password.NUMBER;
|
||||
|
||||
private int passwordLength = 4;
|
||||
private String correctPassword = null;
|
||||
private int incorrectInputTimes = 0;
|
||||
private Typeface typeface;
|
||||
|
||||
private boolean animationIsPlaying = false;
|
||||
|
||||
public boolean isIs_Password_Check_Mode() {
|
||||
return is_Password_Check_Mode;
|
||||
}
|
||||
|
||||
public void setIs_Password_Check_Mode(boolean is_Password_Check_Mode) {
|
||||
this.is_Password_Check_Mode = is_Password_Check_Mode;
|
||||
}
|
||||
|
||||
private boolean is_Password_Check_Mode = false;
|
||||
|
||||
private Stack<String> passwordStack = null;
|
||||
|
||||
private TextView title;
|
||||
private Indicator indicator;
|
||||
|
||||
private BigButtonView[] bigButtonViews;
|
||||
private SmallButtonView[][] smallButtonViews;
|
||||
private BlurView mBlurView;
|
||||
private TextView leftButton;
|
||||
private TextView rightButton;
|
||||
|
||||
private OnLeftButtonClickListener onLeftButtonClickListener;
|
||||
private OnPasswordInputListener onPasswordInputListener;
|
||||
|
||||
public BlurLockView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public BlurLockView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Init.
|
||||
*/
|
||||
private void init() {
|
||||
// number password
|
||||
LayoutInflater.from(getContext()).inflate(R.layout.number_lock_view, this, true);
|
||||
|
||||
bigButtonViews = new BigButtonView[10];
|
||||
bigButtonViews[0] = (BigButtonView)findViewById(R.id.button_0);
|
||||
bigButtonViews[1] = (BigButtonView)findViewById(R.id.button_1);
|
||||
bigButtonViews[2] = (BigButtonView)findViewById(R.id.button_2);
|
||||
bigButtonViews[3] = (BigButtonView)findViewById(R.id.button_3);
|
||||
bigButtonViews[4] = (BigButtonView)findViewById(R.id.button_4);
|
||||
bigButtonViews[5] = (BigButtonView)findViewById(R.id.button_5);
|
||||
bigButtonViews[6] = (BigButtonView)findViewById(R.id.button_6);
|
||||
bigButtonViews[7] = (BigButtonView)findViewById(R.id.button_7);
|
||||
bigButtonViews[8] = (BigButtonView)findViewById(R.id.button_8);
|
||||
bigButtonViews[9] = (BigButtonView)findViewById(R.id.button_9);
|
||||
|
||||
String[] texts = getResources().getStringArray(R.array.default_big_button_text);
|
||||
String[] subTexts = getResources().getStringArray(R.array.default_big_button_sub_text);
|
||||
for (int i = 0; i < 10; i++) {
|
||||
bigButtonViews[i].setOnPressListener(this);
|
||||
bigButtonViews[i].setText(texts[i]);
|
||||
//bigButtonViews[i].setSubText(subTexts[i]);
|
||||
}
|
||||
|
||||
bigButtonViews[0].setSubTextVisibility(View.GONE);
|
||||
bigButtonViews[1].setSubTextVisibility(View.INVISIBLE);
|
||||
|
||||
// text password
|
||||
smallButtonViews = new SmallButtonView[4][10];
|
||||
|
||||
// get screen width
|
||||
Display display = ((Activity)getContext()).getWindowManager().getDefaultDisplay();
|
||||
Point size = new Point();
|
||||
display.getSize(size);
|
||||
int width = size.x;
|
||||
|
||||
int buttonHorizontalMargin = 6;
|
||||
int buttonVerticalMargin = 24;
|
||||
int buttonWidth = (width - 11 * buttonHorizontalMargin) / 10;
|
||||
|
||||
// add buttons to lines
|
||||
LinearLayout line1 = (LinearLayout)findViewById(R.id.line_1);
|
||||
for (int i = 0; i < 10; i++) {
|
||||
smallButtonViews[0][i] = new SmallButtonView(getContext());
|
||||
smallButtonViews[0][i].setOnPressListener(this);
|
||||
smallButtonViews[0][i].setText(CHARS[0][i] + "");
|
||||
smallButtonViews[0][i].setWidth(buttonWidth);
|
||||
smallButtonViews[0][i].setHeight(buttonWidth);
|
||||
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
buttonWidth,
|
||||
buttonWidth
|
||||
);
|
||||
if (i == 0)
|
||||
params.setMargins(buttonHorizontalMargin, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
else if (i == 9)
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin, buttonVerticalMargin / 2);
|
||||
else
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
line1.addView(smallButtonViews[0][i], params);
|
||||
}
|
||||
|
||||
LinearLayout line2 = (LinearLayout)findViewById(R.id.line_2);
|
||||
for (int i = 0; i < 10; i++) {
|
||||
smallButtonViews[1][i] = new SmallButtonView(getContext());
|
||||
smallButtonViews[1][i].setOnPressListener(this);
|
||||
smallButtonViews[1][i].setText(CHARS[1][i] + "");
|
||||
smallButtonViews[1][i].setWidth(buttonWidth);
|
||||
smallButtonViews[1][i].setHeight(buttonWidth);
|
||||
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
buttonWidth,
|
||||
buttonWidth
|
||||
);
|
||||
if (i == 0)
|
||||
params.setMargins(buttonHorizontalMargin, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
else if (i == 9)
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin, buttonVerticalMargin / 2);
|
||||
else
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
line2.addView(smallButtonViews[1][i], params);
|
||||
}
|
||||
|
||||
LinearLayout line3 = (LinearLayout)findViewById(R.id.line_3);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
smallButtonViews[2][i] = new SmallButtonView(getContext());
|
||||
smallButtonViews[2][i].setOnPressListener(this);
|
||||
smallButtonViews[2][i].setText(CHARS[2][i] + "");
|
||||
smallButtonViews[2][i].setWidth(buttonWidth);
|
||||
smallButtonViews[2][i].setHeight(buttonWidth);
|
||||
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
buttonWidth,
|
||||
buttonWidth
|
||||
);
|
||||
|
||||
if (i == 0)
|
||||
params.setMargins(buttonHorizontalMargin, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
else if (i == 8)
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin, buttonVerticalMargin / 2);
|
||||
else
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
line3.addView(smallButtonViews[2][i], params);
|
||||
}
|
||||
|
||||
LinearLayout line4 = (LinearLayout)findViewById(R.id.line_4);
|
||||
for (int i = 0; i < 7; i++) {
|
||||
smallButtonViews[3][i] = new SmallButtonView(getContext());
|
||||
smallButtonViews[3][i].setOnPressListener(this);
|
||||
smallButtonViews[3][i].setText(CHARS[3][i] + "");
|
||||
smallButtonViews[3][i].setWidth(buttonWidth);
|
||||
smallButtonViews[3][i].setHeight(buttonWidth);
|
||||
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
||||
buttonWidth,
|
||||
buttonWidth
|
||||
);
|
||||
|
||||
if (i == 0)
|
||||
params.setMargins(buttonHorizontalMargin, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
else if (i == 6)
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin, buttonVerticalMargin / 2);
|
||||
else
|
||||
params.setMargins(buttonHorizontalMargin / 2, buttonVerticalMargin / 2, buttonHorizontalMargin / 2, buttonVerticalMargin / 2);
|
||||
line4.addView(smallButtonViews[3][i], params);
|
||||
}
|
||||
|
||||
passwordStack = new Stack<>();
|
||||
|
||||
mBlurView = (BlurView)findViewById(R.id.blurview);
|
||||
mBlurView.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Resources resources = getResources();
|
||||
|
||||
indicator = (Indicator)findViewById(R.id.indicator);
|
||||
indicator.setPasswordLength(passwordLength);
|
||||
|
||||
title = (TextView)findViewById(R.id.title);
|
||||
title.setTextColor(ContextCompat.getColor(getContext(), R.color.default_title_text_color));
|
||||
title.setTextSize(resources.getInteger(R.integer.default_title_text_size));
|
||||
|
||||
leftButton = (TextView)findViewById(R.id.left_button);
|
||||
leftButton.setTextColor(ContextCompat.getColor(getContext(), R.color.default_left_button_text_color));
|
||||
leftButton.setTextSize(resources.getInteger(R.integer.default_left_button_text_size));
|
||||
leftButton.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onLeftButtonClickListener != null) onLeftButtonClickListener.onClick();
|
||||
}
|
||||
});
|
||||
|
||||
rightButton = (TextView)findViewById(R.id.right_button);
|
||||
rightButton.setTextColor(ContextCompat.getColor(getContext(), R.color.default_right_button_text_color));
|
||||
rightButton.setTextSize(resources.getInteger(R.integer.default_right_button_text_size));
|
||||
rightButton.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (passwordStack.size() > 0) {
|
||||
passwordStack.pop();
|
||||
indicator.delete();
|
||||
if (onPasswordInputListener != null){
|
||||
StringBuilder nowPassword = new StringBuilder("");
|
||||
for (String s : passwordStack) {
|
||||
nowPassword.append(s);
|
||||
}
|
||||
onPasswordInputListener.clear(nowPassword.toString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the text keyboard smoothly or not.
|
||||
*
|
||||
* @param smoothly Smoothly or not.
|
||||
*/
|
||||
private void showText(boolean smoothly) {
|
||||
if (animationIsPlaying) return;
|
||||
animationIsPlaying = true;
|
||||
if (smoothly) {
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_123), "alpha", 1f, 0f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_456), "alpha", 1f, 0f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_789), "alpha", 1f, 0f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.button_0), "alpha", 1f, 0f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator showAnimator =
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.text_layout), "alpha", 0f, 1f);
|
||||
showAnimator.setDuration(500).addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
super.onAnimationStart(animation);
|
||||
findViewById(R.id.text_layout).setVisibility(VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
findViewById(R.id.layout_123).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.layout_456).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.layout_789).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.button_0).setVisibility(INVISIBLE);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
});
|
||||
showAnimator.start();
|
||||
} else {
|
||||
findViewById(R.id.layout_123).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.layout_456).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.layout_789).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.button_0).setVisibility(INVISIBLE);
|
||||
findViewById(R.id.text_layout).setVisibility(VISIBLE);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the number keyboard smoothly or not.
|
||||
*
|
||||
* @param smoothly Smoothly or not.
|
||||
*/
|
||||
private void showNumber(boolean smoothly) {
|
||||
if (animationIsPlaying) return;
|
||||
animationIsPlaying = true;
|
||||
if (smoothly) {
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_123), "alpha", 0f, 1f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_456), "alpha", 0f, 1f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.layout_789), "alpha", 0f, 1f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.button_0), "alpha", 0f, 1f)
|
||||
.setDuration(500).start();
|
||||
ObjectAnimator showAnimator =
|
||||
ObjectAnimator.ofFloat(findViewById(R.id.text_layout), "alpha", 1f, 0f);
|
||||
showAnimator.setDuration(500).addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
super.onAnimationStart(animation);
|
||||
findViewById(R.id.layout_123).setVisibility(VISIBLE);
|
||||
findViewById(R.id.layout_456).setVisibility(VISIBLE);
|
||||
findViewById(R.id.layout_789).setVisibility(VISIBLE);
|
||||
findViewById(R.id.button_0).setVisibility(VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
findViewById(R.id.text_layout).setVisibility(INVISIBLE);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
});
|
||||
showAnimator.start();
|
||||
} else {
|
||||
findViewById(R.id.layout_123).setVisibility(VISIBLE);
|
||||
findViewById(R.id.layout_456).setVisibility(VISIBLE);
|
||||
findViewById(R.id.layout_789).setVisibility(VISIBLE);
|
||||
findViewById(R.id.button_0).setVisibility(VISIBLE);
|
||||
findViewById(R.id.text_layout).setVisibility(INVISIBLE);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the view that need to be blurred.
|
||||
*
|
||||
* @param blurredView The view.
|
||||
*/
|
||||
public void setBlurredView(View blurredView) {
|
||||
mBlurView.setBlurredView(blurredView);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the listener.
|
||||
*
|
||||
* @param onLeftButtonClickListener Listener.
|
||||
*/
|
||||
public void setOnLeftButtonClickListener(OnLeftButtonClickListener onLeftButtonClickListener) {
|
||||
this.onLeftButtonClickListener = onLeftButtonClickListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the listener.
|
||||
*
|
||||
* @param onPasswordInputListener Listener.
|
||||
*/
|
||||
public void setOnPasswordInputListener(OnPasswordInputListener onPasswordInputListener) {
|
||||
this.onPasswordInputListener = onPasswordInputListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* From the button views.
|
||||
*
|
||||
* @param string The string from button views.
|
||||
*/
|
||||
@Override
|
||||
public void onPress(String string) {
|
||||
if (correctPassword == null) {
|
||||
throw new RuntimeException("The correct password has NOT been set!");
|
||||
}
|
||||
if (passwordStack.size() >= passwordLength) return;
|
||||
passwordStack.push(string);
|
||||
indicator.add();
|
||||
StringBuilder nowPassword = new StringBuilder("");
|
||||
for (String s : passwordStack) {
|
||||
nowPassword.append(s);
|
||||
}
|
||||
String nowPasswordString = nowPassword.toString();
|
||||
if (correctPassword.equals(nowPasswordString)) {
|
||||
// correct password
|
||||
if (onPasswordInputListener != null)
|
||||
onPasswordInputListener.correct(nowPasswordString);
|
||||
} else {
|
||||
if (correctPassword.length() > nowPasswordString.length()) {
|
||||
// input right now
|
||||
if (onPasswordInputListener != null)
|
||||
onPasswordInputListener.input(nowPasswordString);
|
||||
} else {
|
||||
// incorrect password
|
||||
if (onPasswordInputListener != null)
|
||||
onPasswordInputListener.incorrect(nowPasswordString);
|
||||
if(is_Password_Check_Mode){
|
||||
// perform the clear animation
|
||||
incorrectInputTimes++;
|
||||
indicator.clear();
|
||||
passwordStack.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent click 2 or above buttons at the same time.
|
||||
*
|
||||
* @param event
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||
if (event.getPointerCount() > 1) {
|
||||
if (Password.NUMBER.equals(type)) {
|
||||
for (int i = 0; i < bigButtonViews.length; i++) bigButtonViews[i].clearAnimation();
|
||||
} else if (Password.TEXT.equals(type)) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++) {
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++) {
|
||||
if (smallButtonViews[i][j] != null) smallButtonViews[i][j].clearAnimation();
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return super.dispatchTouchEvent(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set big buttons' background.
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void setBigButtonViewsBackground(int id) {
|
||||
for (int i = 0; i < 10; i++) bigButtonViews[i].setBackground(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set big buttons' click effect.
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void setBigButtonViewsClickEffect(int id) {
|
||||
for (int i = 0; i < 10; i++) bigButtonViews[i].setEffect(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the click effect duration.
|
||||
*
|
||||
* @param duration
|
||||
*/
|
||||
public void setBigButtonViewsClickEffectDuration(int duration) {
|
||||
for (int i = 0; i < 10; i++) bigButtonViews[i].setEffectDuration(duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set small buttons' background.
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void setSmallButtonViewsBackground(int id) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++)
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++)
|
||||
if (smallButtonViews[i][j] != null)
|
||||
smallButtonViews[i][j].setBackground(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set small buttons' click effect.
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void setSmallButtonViewsClickEffect(int id) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++)
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++)
|
||||
if (smallButtonViews[i][j] != null)
|
||||
smallButtonViews[i][j].setEffect(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the click effect duration.
|
||||
*
|
||||
* @param duration
|
||||
*/
|
||||
public void setSmallButtonViewsClickEffectDuration(int duration) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++)
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++)
|
||||
if (smallButtonViews[i][j] != null)
|
||||
smallButtonViews[i][j].setEffectDuration(duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set all the fonts.
|
||||
*
|
||||
* @param typeface
|
||||
*/
|
||||
public void setTypeface(Typeface typeface) {
|
||||
this.typeface = typeface;
|
||||
if (type.equals(Password.NUMBER)) {
|
||||
for (int i = 0; i < 10; i++) bigButtonViews[i].setTypeFace(typeface);
|
||||
} else if (type.equals(Password.TEXT)) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++)
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++)
|
||||
if (smallButtonViews[i][j] != null)
|
||||
smallButtonViews[i][j].setTypeFace(typeface);
|
||||
}
|
||||
title.setTypeface(typeface);
|
||||
leftButton.setTypeface(typeface);
|
||||
rightButton.setTypeface(typeface);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set all the text color.
|
||||
*
|
||||
* @param color
|
||||
*/
|
||||
public void setTextColor(int color) {
|
||||
if (type.equals(Password.NUMBER)) {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
bigButtonViews[i].setTextColor(color);
|
||||
bigButtonViews[i].setSubTextColor(color);
|
||||
}
|
||||
} else if (type.equals(Password.TEXT)) {
|
||||
for (int i = 0; i < smallButtonViews.length; i++)
|
||||
for (int j = 0; j < smallButtonViews[i].length; j++)
|
||||
if (smallButtonViews[i][j] != null)
|
||||
smallButtonViews[i][j].setTextColor(color);
|
||||
}
|
||||
title.setTextColor(color);
|
||||
leftButton.setTextColor(color);
|
||||
rightButton.setTextColor(color);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the length of the password.
|
||||
* Default length is 4.
|
||||
*
|
||||
* @param passwordLength
|
||||
*/
|
||||
public void setPasswordLength(int passwordLength) {
|
||||
this.passwordLength = passwordLength;
|
||||
indicator.setPasswordLength(passwordLength);
|
||||
passwordStack.clear();
|
||||
correctPassword = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the password type.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Password getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the password type.
|
||||
*
|
||||
* @param type Number or text.
|
||||
*/
|
||||
public void setType(Password type, boolean smoothly) {
|
||||
if (animationIsPlaying) return;
|
||||
this.type = type;
|
||||
indicator.clear();
|
||||
passwordStack.clear();
|
||||
if (Password.NUMBER.equals(type)) {
|
||||
showNumber(smoothly);
|
||||
} else if (Password.TEXT.equals(type)) {
|
||||
showText(smoothly);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the title text.
|
||||
*
|
||||
* @param string
|
||||
*/
|
||||
public void setTitle(String string) {
|
||||
title.setText(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text of left button.
|
||||
*
|
||||
* @param string
|
||||
*/
|
||||
public void setLeftButton(String string) {
|
||||
leftButton.setText(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text of right button.
|
||||
*
|
||||
* @param string
|
||||
*/
|
||||
public void setRightButton(String string) {
|
||||
rightButton.setText(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the target password.
|
||||
*
|
||||
* @param correctPassword The target password.
|
||||
*/
|
||||
public void setCorrectPassword(String correctPassword) {
|
||||
setPasswordLength(correctPassword.length());
|
||||
this.correctPassword = correctPassword;
|
||||
}
|
||||
|
||||
/**
|
||||
* You can use this to reset the incorrect input times.
|
||||
*
|
||||
* @param incorrectInputTimes The incorrect input times.
|
||||
*/
|
||||
public void setIncorrectInputTimes(int incorrectInputTimes) {
|
||||
this.incorrectInputTimes = incorrectInputTimes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the incorrect input times.
|
||||
*
|
||||
* @return Incorrect input times.
|
||||
*/
|
||||
public int getIncorrectInputTimes() {
|
||||
return incorrectInputTimes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Invalidate the blur view.
|
||||
*/
|
||||
public void update() {
|
||||
mBlurView.invalidate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show this BlurLockView.
|
||||
*
|
||||
* @param duration Duration, in ms.
|
||||
* @param showType Direction, in ShowType.
|
||||
* @param easeType Ease type, in EaseType.
|
||||
*/
|
||||
public void show(int duration, ShowType showType, EaseType easeType) {
|
||||
if (animationIsPlaying) return;
|
||||
animationIsPlaying = true;
|
||||
indicator.clear();
|
||||
passwordStack.clear();
|
||||
ObjectAnimator animator = null;
|
||||
setVisibility(VISIBLE);
|
||||
if (showType.equals(ShowType.FROM_TOP_TO_BOTTOM)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationY",
|
||||
getTranslationY() - getHeight(),
|
||||
getTranslationY());
|
||||
} else if (showType.equals(ShowType.FROM_RIGHT_TO_LEFT)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationX",
|
||||
getTranslationX() + getWidth(),
|
||||
getTranslationX());
|
||||
} else if (showType.equals(ShowType.FROM_BOTTOM_TO_TOP)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationY",
|
||||
getTranslationY() + getHeight(),
|
||||
getTranslationY());
|
||||
} else if (showType.equals(ShowType.FROM_LEFT_TO_RIGHT)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationX",
|
||||
getTranslationX() - getWidth(),
|
||||
getTranslationX());
|
||||
} else if (showType.equals(ShowType.FADE_IN)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "alpha",
|
||||
0,
|
||||
1);
|
||||
}
|
||||
animator.setDuration(duration);
|
||||
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
||||
@Override
|
||||
public void onAnimationUpdate(ValueAnimator animation) {
|
||||
update();
|
||||
}
|
||||
});
|
||||
animator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
});
|
||||
animator.setInterpolator(InterpolatorFactory.getInterpolator(easeType));
|
||||
animator.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide this BlurLockView.
|
||||
*
|
||||
* @param duration Duration, in ms.
|
||||
* @param hideType Direction, in HideType.
|
||||
* @param easeType Ease type, in EaseType.
|
||||
*/
|
||||
public void hide(int duration, HideType hideType, EaseType easeType) {
|
||||
if (animationIsPlaying) return;
|
||||
animationIsPlaying = true;
|
||||
ObjectAnimator animator = null;
|
||||
final float originalX = getTranslationX();
|
||||
final float originalY = getTranslationY();
|
||||
if (hideType.equals(HideType.FROM_TOP_TO_BOTTOM)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationY",
|
||||
getTranslationY(),
|
||||
getTranslationY() + getHeight());
|
||||
} else if (hideType.equals(HideType.FROM_RIGHT_TO_LEFT)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationX",
|
||||
getTranslationX(),
|
||||
getTranslationX() - getWidth());
|
||||
} else if (hideType.equals(HideType.FROM_BOTTOM_TO_TOP)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationY",
|
||||
getTranslationY(),
|
||||
getTranslationY() - getHeight());
|
||||
} else if (hideType.equals(HideType.FROM_LEFT_TO_RIGHT)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "translationX",
|
||||
getTranslationX(),
|
||||
getTranslationX() + getWidth());
|
||||
} else if (hideType.equals(HideType.FADE_OUT)) {
|
||||
animator = ObjectAnimator.ofFloat(this, "alpha",
|
||||
1,
|
||||
0);
|
||||
}
|
||||
animator.setDuration(duration);
|
||||
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
||||
@Override
|
||||
public void onAnimationUpdate(ValueAnimator animation) {
|
||||
update();
|
||||
}
|
||||
});
|
||||
animator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
setVisibility(INVISIBLE);
|
||||
setTranslationX(originalX);
|
||||
setTranslationY(originalY);
|
||||
setAlpha(1);
|
||||
animationIsPlaying = false;
|
||||
}
|
||||
});
|
||||
animator.setInterpolator(InterpolatorFactory.getInterpolator(easeType));
|
||||
animator.start();
|
||||
}
|
||||
|
||||
public interface OnPasswordInputListener {
|
||||
void correct(String inputPassword);
|
||||
void incorrect(String inputPassword);
|
||||
void input(String inputPassword);
|
||||
void clear(String remainingPassword);
|
||||
}
|
||||
|
||||
public interface OnLeftButtonClickListener {
|
||||
void onClick();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the title.
|
||||
* @return
|
||||
*/
|
||||
public TextView getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the left button.
|
||||
* @return
|
||||
*/
|
||||
public TextView getLeftButton() {
|
||||
return leftButton;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the right button.
|
||||
* @return
|
||||
*/
|
||||
public TextView getRightButton() {
|
||||
return rightButton;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the numbers.
|
||||
* @return
|
||||
*/
|
||||
public BigButtonView[] getBigButtonViews() {
|
||||
return bigButtonViews;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the texts.
|
||||
* @return
|
||||
*/
|
||||
public SmallButtonView[][] getSmallButtonViews() {
|
||||
return smallButtonViews;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the blur radius.
|
||||
*/
|
||||
public void setBlurRadius(int blurRadius) {
|
||||
mBlurView.setBlurRadius(blurRadius);
|
||||
update();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the blur radius.
|
||||
* @return
|
||||
*/
|
||||
public int getBlurRadius() {
|
||||
return mBlurView.getBlurRadius();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the downsample factor.
|
||||
* @param downsampleFactor
|
||||
*/
|
||||
public void setDownsampleFactor(int downsampleFactor) {
|
||||
mBlurView.setDownsampleFactor(downsampleFactor);
|
||||
update();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the downsample factor.
|
||||
* @return
|
||||
*/
|
||||
public int getDownsampleFactor() {
|
||||
return mBlurView.getDownsampleFactor();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the overlay color.
|
||||
* @param color
|
||||
*/
|
||||
public void setOverlayColor(int color) {
|
||||
mBlurView.setOverlayColor(color);
|
||||
update();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the overlay color.
|
||||
* @return
|
||||
*/
|
||||
public int getOverlayColor() {
|
||||
return mBlurView.getmOverlayColor();
|
||||
}
|
||||
}
|
||||
@@ -1,194 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.renderscript.Allocation;
|
||||
import android.renderscript.Element;
|
||||
import android.renderscript.RenderScript;
|
||||
import android.renderscript.ScriptIntrinsicBlur;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/16.
|
||||
*/
|
||||
public class BlurView extends View {
|
||||
|
||||
private int mBlurRadius;
|
||||
private int mDownsampleFactor;
|
||||
private int mOverlayColor;
|
||||
|
||||
private View mBlurredView;
|
||||
private int mBlurredViewWidth, mBlurredViewHeight;
|
||||
|
||||
private boolean mDownsampleFactorChanged;
|
||||
private Bitmap mBitmapToBlur, mBlurredBitmap;
|
||||
private Canvas mBlurringCanvas;
|
||||
private RenderScript mRenderScript;
|
||||
private ScriptIntrinsicBlur mBlurScript;
|
||||
private Allocation mBlurInput, mBlurOutput;
|
||||
|
||||
public BlurView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public BlurView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
final Resources res = getResources();
|
||||
final int defaultBlurRadius = res.getInteger(R.integer.default_blur_radius);
|
||||
final int defaultDownsampleFactor = res.getInteger(R.integer.default_downsample_factor);
|
||||
final int defaultOverlayColor = res.getColor(R.color.default_overlay_color);
|
||||
|
||||
initializeRenderScript(context);
|
||||
|
||||
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BlurView);
|
||||
setBlurRadius(a.getInt(R.styleable.BlurView_blurRadius, defaultBlurRadius));
|
||||
setDownsampleFactor(a.getInt(R.styleable.BlurView_downsampleFactor,
|
||||
defaultDownsampleFactor));
|
||||
setOverlayColor(a.getColor(R.styleable.BlurView_overlayColor, defaultOverlayColor));
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
public void setBlurredView(View blurredView) {
|
||||
mBlurredView = blurredView;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
if (mBlurredView != null) {
|
||||
if (prepare()) {
|
||||
// If the background of the blurred view is a color drawable, we use it to clear
|
||||
// the blurring canvas, which ensures that edges of the child views are blurred
|
||||
// as well; otherwise we clear the blurring canvas with a transparent color.
|
||||
if (mBlurredView.getBackground() != null && mBlurredView.getBackground() instanceof ColorDrawable) {
|
||||
mBitmapToBlur.eraseColor(((ColorDrawable) mBlurredView.getBackground()).getColor());
|
||||
} else {
|
||||
mBitmapToBlur.eraseColor(Color.TRANSPARENT);
|
||||
}
|
||||
|
||||
int[] mBlurredViewXY = new int[2];
|
||||
mBlurredView.getLocationOnScreen(mBlurredViewXY);
|
||||
int[] mBlurringViewXY = new int[2];
|
||||
getLocationOnScreen(mBlurringViewXY);
|
||||
|
||||
mBlurredView.draw(mBlurringCanvas);
|
||||
blur();
|
||||
|
||||
canvas.save();
|
||||
|
||||
// modify here to get the correct bitmap when the blurring view is in a parent
|
||||
canvas.translate(mBlurredViewXY[0] - mBlurringViewXY[0], mBlurredViewXY[1] - mBlurringViewXY[1]);
|
||||
canvas.scale(mDownsampleFactor, mDownsampleFactor);
|
||||
canvas.drawBitmap(mBlurredBitmap, 0, 0, null);
|
||||
canvas.restore();
|
||||
}
|
||||
canvas.drawColor(mOverlayColor);
|
||||
}
|
||||
}
|
||||
|
||||
public void setBlurRadius(int radius) {
|
||||
mBlurRadius = radius;
|
||||
mBlurScript.setRadius(mBlurRadius);
|
||||
}
|
||||
|
||||
public int getBlurRadius() {
|
||||
return mBlurRadius;
|
||||
}
|
||||
|
||||
public void setDownsampleFactor(int factor) {
|
||||
if (factor <= 0) {
|
||||
throw new IllegalArgumentException("Downsample factor must be greater than 0.");
|
||||
}
|
||||
|
||||
if (mDownsampleFactor != factor) {
|
||||
mDownsampleFactor = factor;
|
||||
mDownsampleFactorChanged = true;
|
||||
}
|
||||
}
|
||||
|
||||
public int getDownsampleFactor() {
|
||||
return mDownsampleFactor;
|
||||
}
|
||||
|
||||
public void setOverlayColor(int color) {
|
||||
mOverlayColor = color;
|
||||
}
|
||||
|
||||
public int getmOverlayColor() {
|
||||
return mOverlayColor;
|
||||
}
|
||||
|
||||
private void initializeRenderScript(Context context) {
|
||||
mRenderScript = RenderScript.create(context);
|
||||
mBlurScript = ScriptIntrinsicBlur.create(mRenderScript, Element.U8_4(mRenderScript));
|
||||
}
|
||||
|
||||
protected boolean prepare() {
|
||||
final int width = mBlurredView.getWidth();
|
||||
final int height = mBlurredView.getHeight();
|
||||
|
||||
if (mBlurringCanvas == null || mDownsampleFactorChanged
|
||||
|| mBlurredViewWidth != width || mBlurredViewHeight != height) {
|
||||
mDownsampleFactorChanged = false;
|
||||
|
||||
mBlurredViewWidth = width;
|
||||
mBlurredViewHeight = height;
|
||||
|
||||
int scaledWidth = width / mDownsampleFactor;
|
||||
int scaledHeight = height / mDownsampleFactor;
|
||||
|
||||
// The following manipulation is to avoid some RenderScript artifacts at the edge.
|
||||
scaledWidth = scaledWidth - scaledWidth % 4 + 4;
|
||||
scaledHeight = scaledHeight - scaledHeight % 4 + 4;
|
||||
|
||||
if (mBlurredBitmap == null
|
||||
|| mBlurredBitmap.getWidth() != scaledWidth
|
||||
|| mBlurredBitmap.getHeight() != scaledHeight) {
|
||||
mBitmapToBlur = Bitmap.createBitmap(scaledWidth, scaledHeight,
|
||||
Bitmap.Config.ARGB_8888);
|
||||
if (mBitmapToBlur == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
mBlurredBitmap = Bitmap.createBitmap(scaledWidth, scaledHeight,
|
||||
Bitmap.Config.ARGB_8888);
|
||||
if (mBlurredBitmap == null) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
mBlurringCanvas = new Canvas(mBitmapToBlur);
|
||||
mBlurringCanvas.scale(1f / mDownsampleFactor, 1f / mDownsampleFactor);
|
||||
mBlurInput = Allocation.createFromBitmap(mRenderScript, mBitmapToBlur,
|
||||
Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
|
||||
mBlurOutput = Allocation.createTyped(mRenderScript, mBlurInput.getType());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void blur() {
|
||||
mBlurInput.copyFrom(mBitmapToBlur);
|
||||
mBlurScript.setInput(mBlurInput);
|
||||
mBlurScript.forEach(mBlurOutput);
|
||||
mBlurOutput.copyTo(mBlurredBitmap);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
if (mRenderScript != null) {
|
||||
mRenderScript.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Directions;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/17.
|
||||
*/
|
||||
public enum HideType {
|
||||
|
||||
FROM_TOP_TO_BOTTOM(0),
|
||||
FROM_RIGHT_TO_LEFT(1),
|
||||
FROM_BOTTOM_TO_TOP(2),
|
||||
FROM_LEFT_TO_RIGHT(3),
|
||||
FADE_OUT(4);
|
||||
|
||||
int type;
|
||||
|
||||
HideType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Directions;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/17.
|
||||
*/
|
||||
public enum ShowType {
|
||||
|
||||
FROM_TOP_TO_BOTTOM(0),
|
||||
FROM_RIGHT_TO_LEFT(1),
|
||||
FROM_BOTTOM_TO_TOP(2),
|
||||
FROM_LEFT_TO_RIGHT(3),
|
||||
FADE_IN(4);
|
||||
|
||||
int type;
|
||||
|
||||
ShowType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import cpm.com.gskmtorange.R;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/17.
|
||||
*/
|
||||
public class Dot extends FrameLayout {
|
||||
|
||||
private View selected;
|
||||
private View unselected;
|
||||
|
||||
private ObjectAnimator selectedAnimator;
|
||||
private ObjectAnimator unselectedAnimator;
|
||||
|
||||
private boolean isSelected = false;
|
||||
|
||||
public Dot(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public Dot(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
LayoutInflater.from(context).inflate(R.layout.dot_view, this, true);
|
||||
|
||||
selected = findViewById(R.id.selected);
|
||||
unselected = findViewById(R.id.unselected);
|
||||
|
||||
clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set this dot to selected or not.
|
||||
*
|
||||
* @param isSelected Selected or not.
|
||||
*/
|
||||
public void setSelected(boolean isSelected) {
|
||||
if (!(this.isSelected ^ isSelected)) return;
|
||||
this.isSelected = isSelected;
|
||||
if (isSelected) {
|
||||
// change to selected
|
||||
selected.setAlpha(0);
|
||||
unselected.setAlpha(1);
|
||||
if (selectedAnimator != null) selectedAnimator.cancel();
|
||||
if (unselectedAnimator != null) unselectedAnimator.cancel();
|
||||
|
||||
selectedAnimator = ObjectAnimator.ofFloat(selected, "alpha", 0f, 1f);
|
||||
selectedAnimator.setDuration(300);
|
||||
selectedAnimator.start();
|
||||
|
||||
unselectedAnimator = ObjectAnimator.ofFloat(unselected, "alpha", 1f, 0f);
|
||||
unselectedAnimator.setDuration(300);
|
||||
unselectedAnimator.start();
|
||||
} else {
|
||||
// change to unselected
|
||||
selected.setAlpha(1);
|
||||
unselected.setAlpha(0);
|
||||
if (selectedAnimator != null) selectedAnimator.cancel();
|
||||
if (unselectedAnimator != null) unselectedAnimator.cancel();
|
||||
|
||||
selectedAnimator = ObjectAnimator.ofFloat(selected, "alpha", 1f, 0f);
|
||||
selectedAnimator.setDuration(300);
|
||||
selectedAnimator.start();
|
||||
|
||||
unselectedAnimator = ObjectAnimator.ofFloat(unselected, "alpha", 0f, 1f);
|
||||
unselectedAnimator.setDuration(300);
|
||||
unselectedAnimator.start();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear the dot.
|
||||
*/
|
||||
public void clear() {
|
||||
selected.setAlpha(0);
|
||||
unselected.setAlpha(1);
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
import android.graphics.PointF;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
public abstract class CubicBezier {
|
||||
|
||||
private PointF start;
|
||||
private PointF end;
|
||||
private PointF a = new PointF();
|
||||
private PointF b = new PointF();
|
||||
private PointF c = new PointF();
|
||||
|
||||
/**
|
||||
* init the 4 values of the cubic-bezier
|
||||
* @param startX x of start
|
||||
* @param startY y of start
|
||||
* @param endX x of end
|
||||
* @param endY y of end
|
||||
*/
|
||||
public void init(float startX, float startY, float endX, float endY) {
|
||||
setStart(new PointF(startX, startY));
|
||||
setEnd(new PointF(endX, endY));
|
||||
}
|
||||
|
||||
public void init(double startX, double startY, double endX, double endY) {
|
||||
init((float) startX, (float) startY, (float) endX, (float) endY);
|
||||
}
|
||||
|
||||
public float getOffset(float offset) {
|
||||
return getBezierCoordinateY(getXForTime(offset));
|
||||
}
|
||||
|
||||
private float getBezierCoordinateY(float time) {
|
||||
c.y = 3 * start.y;
|
||||
b.y = 3 * (end.y - start.y) - c.y;
|
||||
a.y = 1 - c.y - b.y;
|
||||
return time * (c.y + time * (b.y + time * a.y));
|
||||
}
|
||||
|
||||
private float getXForTime(float time) {
|
||||
float x = time;
|
||||
float z;
|
||||
for (int i = 1; i < 14; i++) {
|
||||
z = getBezierCoordinateX(x) - time;
|
||||
if (Math.abs(z) < 1e-3) {
|
||||
break;
|
||||
}
|
||||
x -= z / getXDerivate(x);
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
private float getXDerivate(float t) {
|
||||
return c.x + t * (2 * b.x + 3 * a.x * t);
|
||||
}
|
||||
|
||||
private float getBezierCoordinateX(float time) {
|
||||
c.x = 3 * start.x;
|
||||
b.x = 3 * (end.x - start.x) - c.x;
|
||||
a.x = 1 - c.x - b.x;
|
||||
return time * (c.x + time * (b.x + time * a.x));
|
||||
}
|
||||
|
||||
public PointF getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
public void setStart(PointF start) {
|
||||
this.start = start;
|
||||
}
|
||||
|
||||
public PointF getEnd() {
|
||||
return end;
|
||||
}
|
||||
|
||||
public void setEnd(PointF end) {
|
||||
this.end = end;
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInBack extends CubicBezier {
|
||||
|
||||
public EaseInBack() {
|
||||
init(0.6, -0.28, 0.735, 0.045);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInBounce extends CubicBezier {
|
||||
|
||||
public EaseInBounce() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
return c - easeOutBounce(d-t, 0, c, d) + b;
|
||||
}
|
||||
|
||||
private float easeOutBounce(float t, float b, float c, float d) {
|
||||
if ((t/=d) < (1/2.75f)) {
|
||||
return c*(7.5625f*t*t) + b;
|
||||
} else if (t < (2/2.75f)) {
|
||||
return c*(7.5625f*(t-=(1.5f/2.75f))*t + .75f) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625f*(t-=(2.25f/2.75f))*t + .9375f) + b;
|
||||
} else {
|
||||
return c*(7.5625f*(t-=(2.625f/2.75f))*t + .984375f) + b;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInCirc extends CubicBezier {
|
||||
|
||||
public EaseInCirc() {
|
||||
init(0.6, 0.04, 0.98, 0.335);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInCubic extends CubicBezier {
|
||||
|
||||
public EaseInCubic() {
|
||||
init(0.55, 0.055, 0.675, 0.19);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInElastic extends CubicBezier {
|
||||
|
||||
public EaseInElastic() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c;
|
||||
float p=d*.3f;
|
||||
float a=c;
|
||||
float s=p/4;
|
||||
return -(a*(float) Math.pow(2,10*(t-=1)) * (float) Math.sin( (t*d-s)*(2*(float) Math.PI)/p )) + b;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInExpo extends CubicBezier {
|
||||
|
||||
public EaseInExpo() {
|
||||
init(0.95, 0.05, 0.795, 0.035);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutBack extends CubicBezier {
|
||||
|
||||
public EaseInOutBack() {
|
||||
init(0.68, -0.55, 0.265, 1.55);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutBounce extends CubicBezier {
|
||||
|
||||
public EaseInOutBounce() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
if (t < d / 2)
|
||||
return easeInBounce(t * 2, 0, c, d) * .5f + b;
|
||||
else
|
||||
return easeOutBounce(t * 2 - d, 0, c, d) * .5f + c * .5f + b;
|
||||
}
|
||||
|
||||
private float easeInBounce(float t, float b, float c, float d) {
|
||||
return c - easeOutBounce(d - t, 0, c, d) + b;
|
||||
}
|
||||
|
||||
private float easeOutBounce(float t, float b, float c, float d) {
|
||||
if ((t/=d) < (1/2.75f)) {
|
||||
return c*(7.5625f*t*t) + b;
|
||||
} else if (t < (2/2.75f)) {
|
||||
return c*(7.5625f*(t-=(1.5f/2.75f))*t + .75f) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625f*(t-=(2.25f/2.75f))*t + .9375f) + b;
|
||||
} else {
|
||||
return c*(7.5625f*(t-=(2.625f/2.75f))*t + .984375f) + b;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutCirc extends CubicBezier {
|
||||
|
||||
public EaseInOutCirc() {
|
||||
init(0.785, 0.135, 0.15, 0.86);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutCubic extends CubicBezier {
|
||||
|
||||
public EaseInOutCubic() {
|
||||
init(0.645, 0.045, 0.355, 1);
|
||||
}
|
||||
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutElastic extends CubicBezier {
|
||||
|
||||
public EaseInOutElastic() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
if (t==0) return b; if ((t/=d/2)==2) return b+c;
|
||||
float p=d*(.3f*1.5f);
|
||||
float a=c;
|
||||
float s=p/4;
|
||||
if (t < 1) return -.5f*(a*(float) Math.pow(2,10*(t-=1)) * (float) Math.sin( (t*d-s)*(2*(float) Math.PI)/p )) + b;
|
||||
return a*(float) Math.pow(2,-10*(t-=1)) * (float) Math.sin( (t*d-s)*(2*(float) Math.PI)/p )*.5f + c + b;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutExpo extends CubicBezier {
|
||||
|
||||
public EaseInOutExpo() {
|
||||
init(1, 0, 0, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutQuad extends CubicBezier {
|
||||
|
||||
public EaseInOutQuad() {
|
||||
init(0.455, 0.03, 0.515, 0.955);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutQuart extends CubicBezier {
|
||||
|
||||
public EaseInOutQuart() {
|
||||
init(0.77, 0, 0.175, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutQuint extends CubicBezier {
|
||||
|
||||
public EaseInOutQuint() {
|
||||
init(0.86, 0, 0.07, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInOutSine extends CubicBezier {
|
||||
|
||||
public EaseInOutSine() {
|
||||
init(0.445, 0.05, 0.55, 0.95);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInQuad extends CubicBezier {
|
||||
|
||||
public EaseInQuad() {
|
||||
init(0.55, 0.085, 0.68, 0.53);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInQuart extends CubicBezier {
|
||||
|
||||
public EaseInQuart() {
|
||||
init(0.895, 0.03, 0.685, 0.22);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInQuint extends CubicBezier {
|
||||
|
||||
public EaseInQuint() {
|
||||
init(0.755, 0.05, 0.855, 0.06);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseInSine extends CubicBezier {
|
||||
|
||||
public EaseInSine() {
|
||||
init(0.47, 0, 0.745, 0.715);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutBack extends CubicBezier {
|
||||
|
||||
public EaseOutBack() {
|
||||
init(0.175, 0.885, 0.32, 1.275);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutBounce extends CubicBezier {
|
||||
|
||||
public EaseOutBounce() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
if ((t/=d) < (1/2.75f)) {
|
||||
return c*(7.5625f*t*t) + b;
|
||||
} else if (t < (2/2.75f)) {
|
||||
return c*(7.5625f*(t-=(1.5f/2.75f))*t + .75f) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625f*(t-=(2.25f/2.75f))*t + .9375f) + b;
|
||||
} else {
|
||||
return c*(7.5625f*(t-=(2.625f/2.75f))*t + .984375f) + b;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutCirc extends CubicBezier {
|
||||
|
||||
public EaseOutCirc() {
|
||||
init(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutCubic extends CubicBezier {
|
||||
|
||||
public EaseOutCubic() {
|
||||
init(0.215, 0.61, 0.355, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutElastic extends CubicBezier {
|
||||
|
||||
public EaseOutElastic() {
|
||||
|
||||
}
|
||||
|
||||
public float getOffset(float t) {
|
||||
float b = 0;
|
||||
float c = 1;
|
||||
float d = 1;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c;
|
||||
float p=d*.3f;
|
||||
float a=c;
|
||||
float s=p/4;
|
||||
return (a*(float) Math.pow(2,-10*t) * (float) Math.sin( (t*d-s)*(2*(float) Math.PI)/p ) + c + b);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutExpo extends CubicBezier {
|
||||
|
||||
public EaseOutExpo() {
|
||||
init(0.19, 1, 0.22, 1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutQuad extends CubicBezier {
|
||||
|
||||
public EaseOutQuad() {
|
||||
init(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package cpm.com.gskmtorange.blurlockview.Eases;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Weiping on 2016/3/3.
|
||||
*/
|
||||
|
||||
public class EaseOutQuart extends CubicBezier {
|
||||
|
||||
public EaseOutQuart() {
|
||||
init(0.165, 0.84, 0.44, 1);
|
||||
}
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user