Geotag and Geofence changes

This commit is contained in:
ravik
2025-08-06 15:02:25 +05:30
parent fb03926973
commit d3033db48c
22 changed files with 243 additions and 121 deletions
+5
View File
File diff suppressed because one or more lines are too long
@@ -29,6 +29,7 @@ import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.Priority;
import com.google.android.gms.location.SettingsClient;
import com.cpm.lorealbaMabeline.delegates.PrefHelper;
@@ -40,6 +41,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import android.os.Bundle;
import android.text.InputFilter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -241,7 +243,6 @@ public class CounterLoginActivity extends AppCompatActivity implements View.OnCl
} catch (Exception e) {
e.fillInStackTrace(); //test("Location", "Lat: " + lat + ", Lng: " + lon);}
}
}
@Override
protected void onResume() {
@@ -265,11 +266,10 @@ public class CounterLoginActivity extends AppCompatActivity implements View.OnCl
}
}
}
private void enableLocationSettings() {
@SuppressLint("VisibleForTests") LocationRequest locationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) // new Priority constant
.setInterval(30 * 1000)
.setInterval(3 * 1000)
.setFastestInterval(5 * 1000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
@@ -327,7 +327,7 @@ public class CounterLoginActivity extends AppCompatActivity implements View.OnCl
}
String jsonString = jsonObject.toString();
//test("jsondata",jsonString);
Log.d("Location",jsonString);
try {
OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(CommonString.TIMEOUT, TimeUnit.SECONDS).writeTimeout(CommonString.TIMEOUT, TimeUnit.SECONDS).connectTimeout(CommonString.TIMEOUT, TimeUnit.SECONDS).build();
@@ -8,11 +8,11 @@ import com.cpm.lorealbaMabeline.utils.AppUtils;
* Created by jeevanp on 14-12-2017.
*/
public class CommonString {
public static final String BACKUP_FOLDER_NAME = "LorealBa_Backup";
public static final String IMAGE_FOLDER_NAME = "LorealBa_Images";
public static final String PROFILE_FOLDER_NAME = "LorealProfile";
public static final String LorealPromo_Folder = "LorealPromoOffers";
public static final String LorealBaApkFolder = "LorealBaApkFolder";
public static final String BACKUP_FOLDER_NAME = "LorealBaMNY_Backup";
public static final String IMAGE_FOLDER_NAME = "LorealBaMNY_Images";
public static final String PROFILE_FOLDER_NAME = "LorealMNYProfile";
public static final String LorealPromo_Folder = "LorealMNYPromoOffers";
public static final String LorealBaApkFolder = "LorealBaMNYApkFolder";
public static String getLorealBaApkFolder(Context context) {
return AppUtils.getInternalDirectory(context, LorealBaApkFolder).getAbsolutePath() + "/";
@@ -35,8 +35,8 @@ public class CommonString {
}
//preference
public static final String KEY_DB_NAME = "LorealBaNew";
public static final int KEY_DB_NAME_iD = 2;
public static final String KEY_DB_NAME = "LorealBaMaybeDb";
public static final int KEY_DB_NAME_iD = 3;
public static final String KEY_LOGIN_DATA = "login_data";
public static final String TAG_FROM = "FROM";
public static final int TIMEOUT = 180;
@@ -12,7 +12,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentSender;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -20,6 +19,7 @@ import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Environment;
import android.os.Looper;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
@@ -95,6 +95,8 @@ import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import android.content.SharedPreferences;
public class StoreImageActivity extends AppCompatActivity implements View.OnClickListener {
private static final int PERMISSION_ALL = 99;
private Button btn_save;
@@ -102,6 +104,7 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
private String _pathforcheck, _path, str, img_str, selfie_imge, visit_date, username, counter_id, userType;
private Lorealba_Database db;
private Runnable run;
private boolean isGeoTagAlertShown = false;
private Toolbar toolbar;
private ProgressDialog loading;
private Retrofit adapter;
@@ -114,6 +117,7 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
private LocationCallback locationCallback = null;
private SharedPreferences.Editor editor = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -205,7 +209,6 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.img_cam_selfie) {
clickFlag = true;
_pathforcheck = counter_id + "_Counter_Selfie_img_" + username + "_" + visit_date.replace("/", "") + "_" + getCurrentTime().replace(":", "") + ".jpg";
@@ -330,11 +333,9 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
StoreImageActivity.this.finish();
}
}
return super.onOptionsItemSelected(item);
}
private void AttempBaCoverage(final ProgressDialog loading, Context context) {
try {
getMid();
@@ -546,7 +547,6 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
} else {
/// checking GeoFencing
getLastLocation();
checkingGeoFencing(getMid());
}
}
@@ -558,7 +558,6 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
}
if (!success_geoTag) {
getLastLocation();
checkingGeoFencing(getMid());
}
checkgpsEnableDevice();
getMid();
@@ -579,28 +578,63 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
}
private void enableLocationSettings() {
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, // priority
5000 // intervalMillis: 5 seconds
).setMinUpdateIntervalMillis(3000) // fastest interval
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000)
.setMinUpdateIntervalMillis(3000)
.setMaxUpdateDelayMillis(6000)
.setMinUpdateDistanceMeters(0f)// Optional batching
.setWaitForAccurateLocation(true) // Optional, improves first fix
.build();
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).setAlwaysShow(true); // show dialog if GPS is off
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true); // Show dialog if GPS is off
SettingsClient settingsClient = LocationServices.getSettingsClient(this);
settingsClient.checkLocationSettings(builder.build()).addOnSuccessListener(locationSettingsResponse -> {
// All location settings are satisfied. You can request location updates here.
}).addOnFailureListener(e -> {
if (e instanceof ResolvableApiException) {
try {
ResolvableApiException resolvable = (ResolvableApiException) e;
resolvable.startResolutionForResult((Activity) this, REQUEST_LOCATION);
} catch (IntentSender.SendIntentException sendEx) {
// Ignore the error.
sendEx.fillInStackTrace();
settingsClient.checkLocationSettings(builder.build())
.addOnSuccessListener(locationSettingsResponse -> {
// All location settings are satisfied, start updates
startLocationUpdates(locationRequest);
})
.addOnFailureListener(e -> {
if (e instanceof ResolvableApiException) {
try {
ResolvableApiException resolvable = (ResolvableApiException) e;
resolvable.startResolutionForResult((Activity) this, REQUEST_LOCATION);
} catch (IntentSender.SendIntentException sendEx) {
sendEx.printStackTrace();
}
}
});
}
private void startLocationUpdates(LocationRequest locationRequest) {
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
locationCallback = new LocationCallback() {
@Override
public void onLocationResult(@NonNull LocationResult locationResult) {
if (locationResult == null) return;
for (Location location : locationResult.getLocations()) {
if (location != null) {
lat = location.getLatitude();
lon = location.getLongitude();
}
}
}
});
};
// Don't forget permissions check
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// Request permissions if not granted
return;
}
fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());
}
private boolean hasGPSDevice(Context context) {
final LocationManager mgr = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (mgr == null) return false;
@@ -643,7 +677,6 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
if (jcpObject != null && db.insertJCPData(jcpObject)) {
/// checking GeoFencing
getLastLocation();
checkingGeoFencing(getMid());
AlertandMessages.showToastMsg(context, "Journey Plan Download Successfully.");
JourneyPlan jcp = db.getBIDfromJCP(username, counter_id);
if (jcp != null && jcp.getCheckout() != null && !jcp.getCheckout().isEmpty() && jcp.getCheckout().equals("Y")) {
@@ -829,8 +862,36 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
if (fusedLocationClient == null) {
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
}
// fastest interval
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000).setMinUpdateIntervalMillis(3000) // fastest interval
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// Request permissions if not granted
checkAndRequestPermissions();
return;
}
// First, try to get the last known location
fusedLocationClient.getLastLocation()
.addOnSuccessListener(location -> {
if (location != null) {
lat = location.getLatitude();
lon = location.getLongitude();
checkingGeoFencing(getMid());
} else {
// No last known location, request updates for a new one
requestNewLocation();
}
})
.addOnFailureListener(e -> {
// Fallback: explicit request for a new location
requestNewLocation();
});
}
private void requestNewLocation() {
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000)
.setMinUpdateIntervalMillis(3000)
.setMaxUpdateDelayMillis(6000)
.setMinUpdateDistanceMeters(0f)
.setWaitForAccurateLocation(true)
.build();
locationCallback = new LocationCallback() {
@Override
@@ -839,7 +900,10 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
if (location != null) {
lat = location.getLatitude();
lon = location.getLongitude();
Log.d("Location", "Lat: " + lat + ", Lng: " + lon);
Log.d("Location", "Lat: " + lat + ", Lng: " + lon + " (new)");
checkingGeoFencing(getMid());
stopLocationUpdates(); // Stop updates after first valid location
break;
}
}
}
@@ -847,6 +911,7 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// Request permissions if not granted
checkAndRequestPermissions();
return;
}
fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());
@@ -861,27 +926,37 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
@Override
public void onDestroy() {
super.onDestroy();
stopLocationUpdates();
// stopLocationUpdates();
if (loading != null && loading.isShowing()) {
loading.dismiss();
}
}
@Override
protected void onPause() {
super.onPause();
stopLocationUpdates();
}
private void checkingGeoFencing(JourneyPlan jcp) {
if (jcp != null && jcp.getBID() != null) {
if (jcp.getGeoTag() != null && !jcp.getGeoTag().equalsIgnoreCase(CommonString.KEY_N) && jcp.getGeoFencingAllow() != null && jcp.getGeoFencingAllow() == 1) {
int distance = jcp.getGeoFencingRadius() != null ? jcp.getGeoFencingRadius() : 0;
int current_dist_from_store_using_lat = 0;
Log.d("latdata",lat + ","+lon + ","+jcp.getLatitude() + ","+jcp.getLongitude());
if (jcp.getLatitude() != 0.0 && jcp.getLongitude() != 0.0 && jcp.getGeoFencingRadius() != 0 && lat != 0.0 && lon != 0.0) {
current_dist_from_store_using_lat = DistanceUtils.calculateDistanceInMeters(lat, lon, jcp.getLatitude(), jcp.getLongitude());
Log.d("TagLoc", "Radius " + distance + "\nCurrent dist " + current_dist_from_store_using_lat);
if (current_dist_from_store_using_lat > distance) {
String msg = getString(R.string.you_need_to_be_within) + " " + distance + " metres " + getString(R.string.you_need_to_be_in_the_store) +
"\n\n" + getString(R.string.distance_from_the_store) + " " + current_dist_from_store_using_lat + " " + getString(R.string.meters);
if (isFinishing() || (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1 && isDestroyed())) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getResources().getString(R.string.alert));
builder.setMessage(msg).setCancelable(false).setPositiveButton(getResources().getString(R.string.ok), (dialog1, id) -> {
dialog1.cancel();
dialog1.dismiss();
finishAffinity();
});
AlertDialog alert = builder.create();
@@ -889,18 +964,30 @@ public class StoreImageActivity extends AppCompatActivity implements View.OnClic
}
}
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getResources().getString(R.string.dialog_title));
builder.setMessage(getString(R.string.first_geotag_the_store)).setCancelable(false).setPositiveButton(getResources().getString(R.string.ok), (dialog1, id) -> {
dialog1.cancel();
success_geoTag = false;
Intent in = new Intent(this, GeoTaggingActivity.class);
startActivity(in);
});
AlertDialog alert = builder.create();
alert.show();
if (isFinishing() || (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1 && isDestroyed())) {
return;
}
db.open();
if (!isGeoTagAlertShown && db.getinsertGeotaggingData(storeId.toString(), counter_id, username, "Y").isEmpty()) {
isGeoTagAlertShown = true;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getResources().getString(R.string.dialog_title));
builder.setMessage(getString(R.string.first_geotag_the_store))
.setCancelable(false)
.setPositiveButton(getResources().getString(R.string.ok), (dialog1, id) -> {
dialog1.dismiss();
success_geoTag = false;
isGeoTagAlertShown = false; // Reset the flag if needed for future
Intent in = new Intent(this, GeoTaggingActivity.class);
startActivity(in);
// Optionally start geo tagging activity here
});
AlertDialog alert = builder.create();
alert.show();
}
}
}
}
}
@@ -169,9 +169,10 @@ public class TabLoginActivity extends AppCompatActivity implements View.OnClickL
}
private void enableLocationSettings() {
@SuppressLint("VisibleForTests") LocationRequest locationRequest = LocationRequest.create()
@SuppressLint("VisibleForTests")
LocationRequest locationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) // new Priority constant
.setInterval(30 * 1000)
.setInterval(3 * 1000)
.setFastestInterval(5 * 1000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
@@ -122,7 +122,7 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
AlertandMessages.showToastMsg(view.getContext(), getResources().getString(R.string.takeimage));
}
} catch (Exception e) {
e.fillInStackTrace();
e.printStackTrace();
}
});
camera_fab.setOnClickListener(view -> {
@@ -141,13 +141,14 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
AlertandMessages.showToastMsg(context, getResources().getString(R.string.nonetwork));
}
} catch (Exception e) {
e.fillInStackTrace();
e.printStackTrace();
}
});
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION
}, LOCATION_PERMISSION_REQUEST_CODE);
}
locationCallback = new LocationCallback() {
@Override
@@ -178,13 +179,27 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
}
private void startLocationUpdates() {
@SuppressLint("VisibleForTests") LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000)
.setMinUpdateIntervalMillis(1000)
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000)
.setMinUpdateIntervalMillis(3000)
.setWaitForAccurateLocation(true)
.setMaxUpdateDelayMillis(6000)
.build();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());
fusedLocationClient.getLastLocation().addOnSuccessListener(this, location -> {
if (location != null && (latitude == 0.0 && longitude == 0.0)) {
latitude = location.getLatitude();
longitude = location.getLongitude();
previousLatitude = latitude;
previousLongitude = longitude;
updateMapWithLocation(latitude, longitude);
}
});
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1001);
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
LOCATION_PERMISSION_REQUEST_CODE);
}
}
@@ -193,7 +208,6 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
Log.e("jeevanp", "" + lat);
String address = "";
try {
List<Address> addressList = geocoder.getFromLocation(lat, lon, 1);
if (addressList != null && !addressList.isEmpty()) {
address = addressList.get(0).getAddressLine(0);
@@ -236,31 +250,51 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.getUiSettings().setCompassEnabled(true);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(22.5726, 88.3639), 15));
// Enable My Location layer
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude,longitude), 15));
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true); // this shows blue dot
mMap.getUiSettings().setMyLocationButtonEnabled(true); // this shows the GPS icon
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
startLocationUpdates();
} else {
// request permission
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
LOCATION_PERMISSION_REQUEST_CODE);
}
fusedLocationClient.getLastLocation().addOnSuccessListener(location -> {
if (location != null && (latitude == 0.0 && longitude == 0.0)) {
latitude = location.getLatitude();
longitude = location.getLongitude();
previousLatitude = latitude;
previousLongitude = longitude;
updateMapWithLocation(latitude, longitude);
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == LOCATION_PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
boolean locationGranted = false;
for (int i = 0; i < grantResults.length; i++) {
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
locationGranted = true;
break;
}
}
if (locationGranted) {
if (mMap != null) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
}
}
startLocationUpdates();
} else {
Toast.makeText(this, "Location permissions are required for geotagging", Toast.LENGTH_LONG).show();
}
}
}
@@ -327,9 +361,6 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
if (mapFragment != null) {
mapFragment.getMapAsync(this);
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
try {
app_ver = String.valueOf(getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
} catch (PackageManager.NameNotFoundException ignored) {
@@ -363,14 +394,12 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
@Override
protected String doInBackground(Void... params) {
try {
// uploading Geotag
uploadflag = false;
geotaglist = db.getinsertGeotaggingData(jcpGetset.getStoreId().toString(), counter_id, username, CommonString.KEY_N);
if (!geotaglist.isEmpty()) {
String jsonString2 = getString();
Log.e("jsonString2", jsonString2);
// Log.e("jsonString2", jsonString2);
String result = upload.downloadDataUniversal(jsonString2);
Log.e("jsonString2", result);
// Log.e("jsonString2", result);
if (result.equalsIgnoreCase(CommonString.MESSAGE_NO_RESPONSE_SERVER)) {
uploadflag = false;
throw new SocketTimeoutException();
@@ -469,11 +498,10 @@ public class GeoTaggingActivity extends AppCompatActivity implements OnMapReadyC
}
private void enableLocationSettings() {
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, // priority
5000 // intervalMillis: 5 seconds
).setMinUpdateIntervalMillis(3000) // fastest interval
LocationRequest locationRequest = new LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000)
.setMinUpdateIntervalMillis(3000)
.build();
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).setAlwaysShow(true); // show dialog if GPS is off
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).setAlwaysShow(true);
SettingsClient settingsClient = LocationServices.getSettingsClient(this);
settingsClient.checkLocationSettings(builder.build()).addOnSuccessListener(locationSettingsResponse -> {
@@ -1,9 +1,9 @@
<lint-module
format="1"
dir="D:\LorealBa-Latest-July-2025\library"
dir="D:\LorealBa-Latest-MNY-July-2025\library"
name=":library"
type="LIBRARY"
maven="LorealBa-Latest-July-2025:library:"
maven="LorealBa-Latest-MNY-July-2025:library:"
agpVersion="8.2.2"
buildFolder="build"
bootClassPath="C:\Users\ravik\AppData\Local\Android\Sdk\platforms\android-35\android.jar;C:\Users\ravik\AppData\Local\Android\Sdk\build-tools\34.0.0\core-lambda-stubs.jar"
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\main\jniLibs"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\release\jniLibs"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\jniLibs"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\release\jniLibs"/></dataSet></merger>
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\main\shaders"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\release\shaders"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\shaders"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\release\shaders"/></dataSet></merger>
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\main\assets"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\release\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\build\intermediates\shader_assets\release\out"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\assets"/></dataSet><dataSet config="release" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\release\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\build\intermediates\shader_assets\release\out"/></dataSet></merger>
@@ -1,6 +1,6 @@
#Mon Aug 04 13:30:30 IST 2025
com.androidbuts.multispinnerfilter.library-main-5\:/layout/textview_for_spinner.xml=D\:\\LorealBa-Latest-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\textview_for_spinner.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/activity_main.xml=D\:\\LorealBa-Latest-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\activity_main.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/alert_dialog_listview_search.xml=D\:\\LorealBa-Latest-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\alert_dialog_listview_search.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/item_listview_single.xml=D\:\\LorealBa-Latest-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\item_listview_single.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/item_listview_multiple.xml=D\:\\LorealBa-Latest-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\item_listview_multiple.xml
#Wed Aug 06 13:34:25 IST 2025
com.androidbuts.multispinnerfilter.library-main-5\:/layout/textview_for_spinner.xml=D\:\\LorealBa-Latest-MNY-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\textview_for_spinner.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/activity_main.xml=D\:\\LorealBa-Latest-MNY-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\activity_main.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/alert_dialog_listview_search.xml=D\:\\LorealBa-Latest-MNY-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\alert_dialog_listview_search.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/item_listview_single.xml=D\:\\LorealBa-Latest-MNY-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\item_listview_single.xml
com.androidbuts.multispinnerfilter.library-main-5\:/layout/item_listview_multiple.xml=D\:\\LorealBa-Latest-MNY-July-2025\\library\\build\\intermediates\\packaged_res\\release\\layout\\item_listview_multiple.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\main\res"><file name="activity_main" path="D:\LorealBa-Latest-July-2025\library\src\main\res\layout\activity_main.xml" qualifiers="" type="layout"/><file name="alert_dialog_listview_search" path="D:\LorealBa-Latest-July-2025\library\src\main\res\layout\alert_dialog_listview_search.xml" qualifiers="" type="layout"/><file name="item_listview_multiple" path="D:\LorealBa-Latest-July-2025\library\src\main\res\layout\item_listview_multiple.xml" qualifiers="" type="layout"/><file name="item_listview_single" path="D:\LorealBa-Latest-July-2025\library\src\main\res\layout\item_listview_single.xml" qualifiers="" type="layout"/><file name="textview_for_spinner" path="D:\LorealBa-Latest-July-2025\library\src\main\res\layout\textview_for_spinner.xml" qualifiers="" type="layout"/><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values\colors.xml" qualifiers=""><color name="ColorPrimary">#29CA97</color><color name="ColorPrimaryDark">#06ACE4</color><color name="list_background">#06ACE4</color><color name="blue">#1589FF</color><color name="white">#FFFFFF</color><color name="black">#000000</color><color name="gray">#D1D0CE</color><color name="background_color">#E1E2E2</color><color name="primary">#3f51b5</color><color name="primary_pressed">#E1E2E2</color><color name="primary_dark">#303f9f</color><color name="ripple">#F06292</color><color name="red">#FF0000</color><color name="cyan">#00FFFF</color><color name="lightBlue">#ADD8E6</color><color name="text_color">#686868</color><color name="android_text_color">#747474</color><color name="app_topbar_color">#AAAAAA</color><color name="list_even">#AAAAAA</color><color name="list_odd">#E1E2E2</color><color name="list_selected">#455FB6</color><color name="list_header">#99979C</color></file><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values\dimens.xml" qualifiers=""><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen></file><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values\strings.xml" qualifiers=""><string name="type_to_search">Type to Search</string></file><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values\styles.xml" qualifiers=""><style name="MaterialSpinner" parent="Widget.AppCompat.Spinner">
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res"><file name="activity_main" path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\layout\activity_main.xml" qualifiers="" type="layout"/><file name="alert_dialog_listview_search" path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\layout\alert_dialog_listview_search.xml" qualifiers="" type="layout"/><file name="item_listview_multiple" path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\layout\item_listview_multiple.xml" qualifiers="" type="layout"/><file name="item_listview_single" path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\layout\item_listview_single.xml" qualifiers="" type="layout"/><file name="textview_for_spinner" path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\layout\textview_for_spinner.xml" qualifiers="" type="layout"/><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values\colors.xml" qualifiers=""><color name="ColorPrimary">#29CA97</color><color name="ColorPrimaryDark">#06ACE4</color><color name="list_background">#06ACE4</color><color name="blue">#1589FF</color><color name="white">#FFFFFF</color><color name="black">#000000</color><color name="gray">#D1D0CE</color><color name="background_color">#E1E2E2</color><color name="primary">#3f51b5</color><color name="primary_pressed">#E1E2E2</color><color name="primary_dark">#303f9f</color><color name="ripple">#F06292</color><color name="red">#FF0000</color><color name="cyan">#00FFFF</color><color name="lightBlue">#ADD8E6</color><color name="text_color">#686868</color><color name="android_text_color">#747474</color><color name="app_topbar_color">#AAAAAA</color><color name="list_even">#AAAAAA</color><color name="list_odd">#E1E2E2</color><color name="list_selected">#455FB6</color><color name="list_header">#99979C</color></file><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values\dimens.xml" qualifiers=""><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen></file><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values\strings.xml" qualifiers=""><string name="type_to_search">Type to Search</string></file><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values\styles.xml" qualifiers=""><style name="MaterialSpinner" parent="Widget.AppCompat.Spinner">
<item name="rd_style">@style/Material.Drawable.Ripple.Wave.Light</item>
<item name="spn_labelEnable">true</item>
<item name="spn_labelTextSize">18sp</item>
@@ -14,9 +14,9 @@
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@android:style/TextAppearance.DialogWindowTitle</item>
</style></file><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values-v21\attrs.xml" qualifiers="v21"><declare-styleable name="MultiSpinnerSearch">
</style></file><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values-v21\attrs.xml" qualifiers="v21"><declare-styleable name="MultiSpinnerSearch">
<attr format="string" name="hintText"/>
</declare-styleable></file><file path="D:\LorealBa-Latest-July-2025\library\src\main\res\values-v21\styles.xml" qualifiers="v21"><style name="MaterialSpinner" parent="Material.Widget.Spinner">
</declare-styleable></file><file path="D:\LorealBa-Latest-MNY-July-2025\library\src\main\res\values-v21\styles.xml" qualifiers="v21"><style name="MaterialSpinner" parent="Material.Widget.Spinner">
<item name="rd_style">@style/Material.Drawable.Ripple.Wave.Light</item>
<item name="spn_labelEnable">true</item>
<item name="spn_labelTextSize">18sp</item>
@@ -31,4 +31,4 @@
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@android:style/TextAppearance.DialogWindowTitle</item>
</style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="release$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\release\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="release" generated-set="release$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\src\release\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\build\generated\res\resValues\release"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-July-2025\library\build\generated\res\resValues\release"/></dataSet><mergedItems/></merger>
</style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="release$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\release\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="release" generated-set="release$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\src\release\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\build\generated\res\resValues\release"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\LorealBa-Latest-MNY-July-2025\library\build\generated\res\resValues\release"/></dataSet><mergedItems/></merger>
@@ -169,6 +169,7 @@
<com.android.designcompose/>
<com.android.dynamic-feature/>
<com.android.experimental.built-in-kotlin/>
<com.android.extensions.xr/>
<com.android.fused-library/>
<com.android.identity/>
<com.android.installreferrer/>
@@ -1,9 +1,9 @@
<lint-module
format="1"
dir="D:\LorealBa-Latest-July-2025\library"
dir="D:\LorealBa-Latest-MNY-July-2025\library"
name=":library"
type="LIBRARY"
maven="LorealBa-Latest-July-2025:library:"
maven="LorealBa-Latest-MNY-July-2025:library:"
agpVersion="8.2.2"
buildFolder="build"
bootClassPath="C:\Users\ravik\AppData\Local\Android\Sdk\platforms\android-35\android.jar;C:\Users\ravik\AppData\Local\Android\Sdk\build-tools\34.0.0\core-lambda-stubs.jar"
@@ -3,7 +3,7 @@
roots=":@@:library::release,com.github.rey5137:material:1.2.2@aar,androidx.legacy:legacy-support-v4:1.0.0@aar,com.google.android.material:material:1.12.0@aar,androidx.viewpager2:viewpager2:1.0.0@aar,androidx.recyclerview:recyclerview:1.1.0@aar,androidx.constraintlayout:constraintlayout:2.0.1@aar,androidx.appcompat:appcompat:1.6.1@aar,androidx.cardview:cardview:1.0.0@aar,androidx.media:media:1.0.0@aar,androidx.legacy:legacy-support-core-ui:1.0.0@aar,androidx.dynamicanimation:dynamicanimation:1.0.0@aar,androidx.legacy:legacy-support-core-utils:1.0.0@aar,androidx.fragment:fragment:1.3.6@aar,androidx.fragment:fragment:1.3.6@aar,androidx.activity:activity:1.8.0@aar,androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar,androidx.drawerlayout:drawerlayout:1.1.1@aar,androidx.transition:transition:1.5.0@aar,androidx.appcompat:appcompat-resources:1.6.1@aar,androidx.vectordrawable:vectordrawable-animated:1.1.0@aar,androidx.vectordrawable:vectordrawable:1.1.0@aar,androidx.viewpager:viewpager:1.0.0@aar,androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar,androidx.customview:customview:1.1.0@aar,androidx.loader:loader:1.0.0@aar,androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar,androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar,androidx.lifecycle:lifecycle-livedata:2.6.2@aar,androidx.lifecycle:lifecycle-common:2.6.2@jar,androidx.lifecycle:lifecycle-viewmodel:2.6.2@aar,androidx.lifecycle:lifecycle-viewmodel:2.6.2@aar,androidx.lifecycle:lifecycle-livedata-core:2.6.2@aar,androidx.lifecycle:lifecycle-runtime:2.6.2@aar,androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2@aar,androidx.core:core-ktx:1.13.0@aar,androidx.core:core:1.13.0@aar,androidx.core:core:1.13.0@aar,androidx.versionedparcelable:versionedparcelable:1.1.1@aar,androidx.collection:collection:1.1.0@jar,androidx.cursoradapter:cursoradapter:1.0.0@aar,androidx.savedstate:savedstate:1.2.1@aar,androidx.documentfile:documentfile:1.0.0@aar,androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar,androidx.print:print:1.0.0@aar,androidx.interpolator:interpolator:1.0.0@aar,androidx.arch.core:core-runtime:2.2.0@aar,androidx.arch.core:core-common:2.2.0@jar,androidx.annotation:annotation-jvm:1.6.0@jar,androidx.annotation:annotation-experimental:1.4.0@aar,org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4@jar,org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22@jar,org.jetbrains:annotations:13.0@jar,androidx.resourceinspection:resourceinspection-annotation:1.0.1@jar,androidx.constraintlayout:constraintlayout-solver:2.0.1@jar">
<dependency
name=":@@:library::release"
simpleName="LorealBa-Latest-July-2025:library"/>
simpleName="LorealBa-Latest-MNY-July-2025:library"/>
<dependency
name="com.github.rey5137:material:1.2.2@aar"
simpleName="com.github.rey5137:material"/>
@@ -174,7 +174,7 @@
roots=":@@:library::release,com.github.rey5137:material:1.2.2@aar,androidx.legacy:legacy-support-v4:1.0.0@aar,com.google.android.material:material:1.12.0@aar,androidx.viewpager2:viewpager2:1.0.0@aar,androidx.recyclerview:recyclerview:1.1.0@aar,androidx.constraintlayout:constraintlayout:2.0.1@aar,androidx.appcompat:appcompat-resources:1.6.1@aar,androidx.appcompat:appcompat:1.6.1@aar,androidx.cardview:cardview:1.0.0@aar,androidx.media:media:1.0.0@aar,androidx.legacy:legacy-support-core-ui:1.0.0@aar,androidx.transition:transition:1.5.0@aar,androidx.dynamicanimation:dynamicanimation:1.0.0@aar,androidx.legacy:legacy-support-core-utils:1.0.0@aar,androidx.fragment:fragment:1.3.6@aar,androidx.fragment:fragment:1.3.6@aar,androidx.activity:activity:1.8.0@aar,androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar,androidx.drawerlayout:drawerlayout:1.1.1@aar,androidx.vectordrawable:vectordrawable-animated:1.1.0@aar,androidx.vectordrawable:vectordrawable:1.1.0@aar,androidx.loader:loader:1.0.0@aar,androidx.viewpager:viewpager:1.0.0@aar,androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar,androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar,androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar,androidx.emoji2:emoji2-views-helper:1.2.0@aar,androidx.emoji2:emoji2:1.2.0@aar,androidx.customview:customview:1.1.0@aar,androidx.savedstate:savedstate:1.2.1@aar,androidx.lifecycle:lifecycle-viewmodel:2.6.2@aar,androidx.lifecycle:lifecycle-viewmodel:2.6.2@aar,androidx.lifecycle:lifecycle-process:2.6.2@aar,androidx.lifecycle:lifecycle-livedata-core:2.6.2@aar,androidx.lifecycle:lifecycle-livedata:2.6.2@aar,androidx.lifecycle:lifecycle-common:2.6.2@jar,androidx.lifecycle:lifecycle-runtime:2.6.2@aar,androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2@aar,androidx.core:core-ktx:1.13.0@aar,androidx.core:core:1.13.0@aar,androidx.core:core:1.13.0@aar,com.google.errorprone:error_prone_annotations:2.15.0@jar,androidx.resourceinspection:resourceinspection-annotation:1.0.1@jar,androidx.documentfile:documentfile:1.0.0@aar,androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar,androidx.print:print:1.0.0@aar,androidx.interpolator:interpolator:1.0.0@aar,androidx.cursoradapter:cursoradapter:1.0.0@aar,androidx.profileinstaller:profileinstaller:1.3.0@aar,androidx.startup:startup-runtime:1.1.1@aar,androidx.tracing:tracing:1.0.0@aar,androidx.versionedparcelable:versionedparcelable:1.1.1@aar,androidx.collection:collection:1.1.0@jar,androidx.concurrent:concurrent-futures:1.1.0@jar,androidx.arch.core:core-runtime:2.2.0@aar,androidx.arch.core:core-common:2.2.0@jar,androidx.annotation:annotation-experimental:1.4.0@aar,androidx.annotation:annotation-jvm:1.6.0@jar,org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4@jar,org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib:1.8.22@jar,org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22@jar,androidx.constraintlayout:constraintlayout-solver:2.0.1@jar,org.jetbrains:annotations:13.0@jar,com.google.guava:listenablefuture:1.0@jar">
<dependency
name=":@@:library::release"
simpleName="LorealBa-Latest-July-2025:library"/>
simpleName="LorealBa-Latest-MNY-July-2025:library"/>
<dependency
name="com.github.rey5137:material:1.2.2@aar"
simpleName="com.github.rey5137:material"/>
@@ -689,9 +689,9 @@
resolved="com.google.guava:listenablefuture:1.0"/>
<library
name=":@@:library::release"
jars="D:\LorealBa-Latest-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out\jars\classes.jar;D:\LorealBa-Latest-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out\jars\libs\R.jar"
resolved="LorealBa-Latest-July-2025:library:unspecified"
folder="D:\LorealBa-Latest-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out"
jars="D:\LorealBa-Latest-MNY-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out\jars\classes.jar;D:\LorealBa-Latest-MNY-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out\jars\libs\R.jar"
resolved="LorealBa-Latest-MNY-July-2025:library:unspecified"
folder="D:\LorealBa-Latest-MNY-July-2025\library\build\.transforms\f6b0a876a140844809a4015960e92ce1\transformed\out"
manifest="AndroidManifest.xml"
resFolder="res"
assetsFolder="assets"
@@ -1,2 +1,2 @@
mavenArtifactId=library
mavenGroupId=LorealBa-Latest-July-2025
mavenGroupId=LorealBa-Latest-MNY-July-2025
@@ -1,9 +1,9 @@
<lint-module
format="1"
dir="D:\LorealBa-Latest-July-2025\library"
dir="D:\LorealBa-Latest-MNY-July-2025\library"
name=":library"
type="LIBRARY"
maven="LorealBa-Latest-July-2025:library:"
maven="LorealBa-Latest-MNY-July-2025:library:"
agpVersion="8.2.2"
buildFolder="build"
bootClassPath="C:\Users\ravik\AppData\Local\Android\Sdk\platforms\android-35\android.jar;C:\Users\ravik\AppData\Local\Android\Sdk\build-tools\34.0.0\core-lambda-stubs.jar"
@@ -5,8 +5,8 @@
5 <uses-sdk android:minSdkVersion="24" />
6
7 <application android:allowBackup="true" >
7-->D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:5:5-7:19
7-->D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:5:18-44
7-->D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:5:5-7:19
7-->D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:5:18-44
8 </application>
9
10</manifest>
@@ -1,21 +1,21 @@
-- Merging decision tree log ---
manifest
ADDED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:2:1-9:12
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:2:1-9:12
ADDED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:2:1-9:12
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:2:1-9:12
package
ADDED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:3:5-49
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml
ADDED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:3:5-49
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml
xmlns:android
ADDED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:2:11-69
ADDED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:2:11-69
application
ADDED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:5:5-7:19
ADDED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:5:5-7:19
android:allowBackup
ADDED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml:5:18-44
ADDED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml:5:18-44
uses-sdk
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml reason: use-sdk injection requested
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml reason: use-sdk injection requested
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml
android:targetSdkVersion
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml
android:minSdkVersion
INJECTED from D:\LorealBa-Latest-July-2025\library\src\main\AndroidManifest.xml
INJECTED from D:\LorealBa-Latest-MNY-July-2025\library\src\main\AndroidManifest.xml