Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved release changes to release branch #489

Merged
merged 26 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
50368f2
added collab env to gradle
GSPrakashNaidu2662 Aug 1, 2024
5c85873
changed server url
GSPrakashNaidu2662 Aug 2, 2024
0bf8e62
Merge branch 'mosip:develop' into develop
GSPrakashNaidu2662 Aug 9, 2024
1c4b05c
Merge branch 'mosip:develop' into develop
GSPrakashNaidu2662 Aug 12, 2024
64ac8c0
Merge branch 'mosip:develop' into develop
GSPrakashNaidu2662 Aug 20, 2024
e3af4a3
Updated the actions yml file
GSPrakashNaidu2662 Aug 28, 2024
16dd421
Merge branch 'mosip:release-0.11.x' into release-0.11.x
GSPrakashNaidu2662 Aug 28, 2024
44a28b9
MOSIP-30900 (#417)
jayesh12234 Sep 17, 2024
6423b49
Merge branch 'mosip:release-0.11.x' into release-0.11.x
GSPrakashNaidu2662 Sep 19, 2024
ff696e5
Merge pull request #443 from GSPrakashNaidu2662/release-0.11.x
jainhitesh9998 Sep 19, 2024
176a4fd
[RCF-919] (#442)
GSPrakashNaidu2662 Sep 19, 2024
6e2fa66
[RCF-919] (#444)
GSPrakashNaidu2662 Sep 19, 2024
3099166
Signing apk (#463)
developer-aditya Oct 10, 2024
6bf3ae5
MOSIP-36178-Update Page Sequence in ARC Automation According to UI Sp…
jayesh12234 Oct 10, 2024
8536582
Bug fixes (#462)
developer-aditya Oct 10, 2024
0d56643
added important guidelines to the template (#458)
GSPrakashNaidu2662 Oct 10, 2024
6c543c0
bug fixed on qa-plan (#469)
SachinPremkumar Oct 28, 2024
e59559c
Updated the artifact version in the github files (#475)
GSPrakashNaidu2662 Oct 29, 2024
9deb944
Added validation for supervisor auth (#480)
GSPrakashNaidu2662 Oct 29, 2024
fa47ab7
Fixed language labels in lanuage selector screen (#474) (#478)
GSPrakashNaidu2662 Oct 29, 2024
371235e
Added order feature for the screens as per spec (#473) (#476)
GSPrakashNaidu2662 Oct 29, 2024
fc58127
RCF-302 -- Authenticate button disable (#484)
SachinPremkumar Nov 13, 2024
3b6967b
removed download button while fetching machine key (#483)
SachinPremkumar Nov 13, 2024
81b9d79
Added selected handles code (#482)
GSPrakashNaidu2662 Nov 13, 2024
b03f259
RCF-454 gender code issue (#486)
SachinPremkumar Nov 13, 2024
0c0470a
dropdown value translate (#487)
SachinPremkumar Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Build Android Registration-Client

on:
workflow_dispatch:
push:
branches:
- release*
Expand Down Expand Up @@ -37,11 +38,17 @@ jobs:
# - name: Flutter test
# run: flutter test

- name: Decode android/app/arc-local-keystore.jks
run: echo "${{ secrets.JKS_PRIVATE_SECRET }}" | base64 --decode > android/app/arc-local-keystore.jks

- name: Decode android/key.properties
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties

- name: Build Android APK
run: flutter build apk

- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: apk-output
path: ./build/app/outputs/flutter-apk/app-release.apk
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
ls app/build/outputs/apk/debug
find -name '*.apk'
- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: apk-output
path: ./client/app/build/outputs/apk/debug/app-debug.apk
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push_trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
ls app/build/outputs/apk/debug
find -name '*.apk'
- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: apk-output
path: ./client/app/build/outputs/apk/debug/app-debug.apk
Expand Down
15 changes: 15 additions & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
localProperties.load(new FileInputStream(keystorePropertiesFile))
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
Expand Down Expand Up @@ -49,13 +54,23 @@ android {
buildConfigField("String", "ACTUATOR_INFO_PATH", rootProject.ext.serverActuatorInfoPath)
}

signingConfigs {
release {
keyAlias = localProperties['keyAlias']
keyPassword = localProperties['keyPassword']
storeFile = localProperties['storeFile'] ? file(localProperties['storeFile']) : null
storePassword = localProperties['storePassword']
}
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
minifyEnabled false
shrinkResources false
signingConfig signingConfigs.debug
signingConfig signingConfigs.release
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'
// architectures: 'armeabi-v7a', 'arm64-v8a', 'armeabi', 'x86', 'x86_64'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,13 @@ public void changeUpdatableFieldGroups(@NonNull DemographicsDataPigeon.Result<St
Log.e(getClass().getSimpleName(), "Remove updatable field group failed!" + Arrays.toString(e.getStackTrace()));
}
}

@Override
public void addSelectedCode(@NonNull String fieldId, @NonNull String code, @NonNull DemographicsDataPigeon.Result<Void> result) {
try {
this.registrationService.getRegistrationDto().SELECTED_CODES.put(fieldId+"Code", code);
} catch (Exception e) {
Log.e(getClass().getSimpleName(), "Add selected data field failed!" + Arrays.toString(e.getStackTrace()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ public void getFieldValues(@NonNull String fieldName, @NonNull String langCode,
DynamicResponsePigeon.DynamicFieldData data = new DynamicResponsePigeon.DynamicFieldData.Builder()
.setCode(dto.getCode())
.setName(dto.getName())
.setLangCode(dto.getLangCode())
.setConcatenatedName(value)
.build();
response.add(data);
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ext {
clientmanagerLibVersionCode = 1
clientmanagerLibVersionName = "\"1.0.0\""

serverBaseURL = "\"https://api-internal.qa-platform1.mosip.net\""
serverBaseURL = "\"https://api-internal.qa-plan.mosip.net\""
serverHealthCheckPath = "\"/v1/syncdata/actuator/health\""
serverActuatorInfoPath = "\"/v1/syncdata/actuator/info\""
debugPassword = "\"APTyKejHxACQyKBSRciR\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,8 @@ UserOnboardService provideUserOnboardService(ObjectMapper objectMapper, AuditMan

@Provides
@Singleton
TemplateService TemplateService(MasterDataService masterDataService, IdentitySchemaRepository identitySchemaRepository) {
return new TemplateService(appContext, masterDataService, identitySchemaRepository);
TemplateService TemplateService(MasterDataService masterDataService, IdentitySchemaRepository identitySchemaRepository, GlobalParamRepository globalParamRepository) {
return new TemplateService(appContext, masterDataService, identitySchemaRepository, globalParamRepository);
}

@Provides
Expand All @@ -287,8 +287,8 @@ PreRegistrationDataSyncDao PreRegistrationDataSyncDao(PreRegistrationDataSyncRep

@Provides
@Singleton
PreRegZipHandlingService PreRegZipHandlingService(ApplicantValidDocumentDao applicantValidDocumentDao, IdentitySchemaRepository identitySchemaService, ClientCryptoManagerService clientCryptoFacade, RegistrationService registrationService, CryptoManagerService cryptoManagerService, PacketKeeper packetKeeper, IPacketCryptoService iPacketCryptoService, MasterDataService masterDataService) {
return new PreRegZipHandlingServiceImpl(appContext, applicantValidDocumentDao, identitySchemaService, clientCryptoFacade, registrationService, cryptoManagerService, packetKeeper, iPacketCryptoService, masterDataService);
PreRegZipHandlingService PreRegZipHandlingService(ApplicantValidDocumentDao applicantValidDocumentDao, IdentitySchemaRepository identitySchemaService, ClientCryptoManagerService clientCryptoFacade, RegistrationService registrationService, CryptoManagerService cryptoManagerService, PacketKeeper packetKeeper, IPacketCryptoService iPacketCryptoService, MasterDataService masterDataService,GlobalParamRepository globalParamRepository) {
return new PreRegZipHandlingServiceImpl(appContext, applicantValidDocumentDao, identitySchemaService, clientCryptoFacade, registrationService, cryptoManagerService, packetKeeper, iPacketCryptoService, masterDataService,globalParamRepository);
}

@Provides
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package io.mosip.registration.clientmanager.constant;

import java.sql.Array;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

Expand Down Expand Up @@ -84,4 +87,7 @@ public class RegistrationConstants {
public static final String UI_SCHEMA_SUBTYPE_FULL_NAME = "name";
public static final String UI_SCHEMA_SUBTYPE_EMAIL = "Email";
public static final String UI_SCHEMA_SUBTYPE_PHONE = "Phone";
public static final String SELECTED_HANDLES = "mosip.registration.default-selected-handle-fields";
public static final String TEMPLATE_IMPORTANT_GUIDELINES = "mosip.registration.important_guidelines";
public static final String PRE_REG_PACKET_LOCATION = "mosip.registration.registration_pre_reg_packet_location";
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ public class RegistrationDto extends Observable {
public Map<Modality, Object> BIO_DEVICES;
private OperatorDto maker;
private OperatorDto reviewer;
public Map<String, String> SELECTED_CODES = new HashMap<>();

public RegistrationDto(@NonNull String rid, @NonNull String flowType, @NonNull String process,
@NonNull Double schemaVersion, @NonNull List<String> languages,
Expand Down Expand Up @@ -398,6 +399,7 @@ public void cleanup() {
this.biometrics.clear();
this.AGE_GROUPS.clear();
this.EXCEPTIONS.clear();
this.SELECTED_CODES.clear();
this.selectedLanguages.removeIf(o->true);

deleteObservers();
Expand All @@ -406,6 +408,7 @@ public void cleanup() {
public void changeUpdatableFieldGroups() {
this.demographics.clear();
this.AGE_GROUPS.clear();
this.SELECTED_CODES.clear();
clearAndNotifyAllObservers();
}

Expand Down Expand Up @@ -445,6 +448,7 @@ public Map<String, Object> getMVELDataContext() {
allIdentityDetails.putAll(this.documents);
allIdentityDetails.putAll(this.biometrics);
allIdentityDetails.putAll(this.AGE_GROUPS);
allIdentityDetails.putAll(this.SELECTED_CODES);
allIdentityDetails.put("isBioException", this.EXCEPTIONS.size() > 0);
if(!allIdentityDetails.containsKey(RegistrationConstants.AGE))
allIdentityDetails.put(RegistrationConstants.AGE, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,17 @@ public String getCachedStringAgeGroup(){
public String getCachedStringMAVELScript(){
return globalParamMap.getOrDefault(RegistrationConstants.APPLICANT_TYPE_MVEL_SCRIPT,"applicanttype.mvel");
}

public String getCachedStringPreRegPacketLocation(){
return globalParamMap.get(RegistrationConstants.PRE_REG_PACKET_LOCATION);
}

public List<String> getSelectedHandles() {
String value = globalParamMap.getOrDefault(RegistrationConstants.SELECTED_HANDLES, "");
return Arrays.asList(value.split(RegistrationConstants.COMMA)).stream()
.map(String::trim)
.filter(item-> !item.isEmpty())
.distinct()
.collect(Collectors.toList());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public void syncRegistration(@NonNull String packetId, AsyncPacketTaskCallBack c

Registration registration = registrationRepository.getRegistration(packetId);

if(registration.getClientStatus() != null && String.valueOf(registration.getClientStatus()).equals(PacketClientStatus.CREATED.name())) {
if (registration.getClientStatus() != null && String.valueOf(registration.getClientStatus()).equals(PacketClientStatus.CREATED.name())) {
Log.i(TAG, "Packet not reviewed >> " + registration.getClientStatus());
callBack.onComplete(packetId, PacketTaskStatus.SYNC_FAILED);
return;
Expand Down Expand Up @@ -243,7 +243,12 @@ public void onResponse(Call<RegProcResponseWrapper<UploadResponse>> call, Respon
callBack.onComplete(packetId, PacketTaskStatus.UPLOAD_COMPLETED);
// Toast.makeText(context, "Packet uploaded successfully", Toast.LENGTH_LONG).show();
} else {
callBack.onComplete(packetId, PacketTaskStatus.UPLOAD_FAILED);
if (String.valueOf(error.getErrorCode()).equals("RPR-PKR-005")) {
registrationRepository.updateStatus(packetId, null, PacketClientStatus.UPLOADED.name());
callBack.onComplete(packetId, PacketTaskStatus.UPLOAD_ALREADY_COMPLETED);
} else {
callBack.onComplete(packetId, PacketTaskStatus.UPLOAD_FAILED);
}
// Toast.makeText(context, "Packet uploaded failed : " + error.getMessage(), Toast.LENGTH_LONG).show();
}
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,13 @@ public void submitRegistrationDto(String makerName) throws Exception {
throw new ClientCheckedException(context, R.string.err_004);
}

List<String> selectedHandles = this.globalParamRepository.getSelectedHandles();
if(selectedHandles != null) {
if (this.registrationDto.getFlowType().equals("NEW")) {
this.registrationDto.getDemographics().put("selectedHandles", selectedHandles);
}
}

// try {
String individualBiometricsFieldId = this.globalParamRepository.getCachedStringGlobalParam(RegistrationConstants.INDIVIDUAL_BIOMETRICS_ID);
String serverVersion = this.globalParamRepository.getCachedStringGlobalParam(RegistrationConstants.SERVER_VERSION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,12 @@

import io.mosip.registration.clientmanager.R;
import io.mosip.registration.clientmanager.constant.Modality;
import io.mosip.registration.clientmanager.constant.RegistrationConstants;
import io.mosip.registration.clientmanager.dto.CenterMachineDto;
import io.mosip.registration.clientmanager.dto.registration.BiometricsDto;
import io.mosip.registration.clientmanager.dto.registration.RegistrationDto;
import io.mosip.registration.clientmanager.dto.uispec.FieldSpecDto;
import io.mosip.registration.clientmanager.repository.GlobalParamRepository;
import io.mosip.registration.clientmanager.repository.IdentitySchemaRepository;
import io.mosip.registration.clientmanager.spi.MasterDataService;
import io.mosip.registration.clientmanager.util.UserInterfaceHelperService;
Expand All @@ -61,10 +63,12 @@ public class TemplateService {
MasterDataService masterDataService;

IdentitySchemaRepository identitySchemaRepository;
GlobalParamRepository globalParamRepository;

public TemplateService(Context appContext, MasterDataService masterDataService, IdentitySchemaRepository identitySchemaRepository) {
public TemplateService(Context appContext, MasterDataService masterDataService, IdentitySchemaRepository identitySchemaRepository, GlobalParamRepository globalParamRepository) {
this.appContext = appContext;
this.masterDataService = masterDataService;
this.globalParamRepository = globalParamRepository;
this.identitySchemaRepository = identitySchemaRepository;
sharedPreferences = this.appContext.getSharedPreferences(
this.appContext.getString(R.string.app_name),
Expand Down Expand Up @@ -396,7 +400,11 @@ private void setBasicDetails(boolean isPreview, RegistrationDto registrationDto,
CenterMachineDto centerMachineDto = new CenterMachineDto();
centerMachineDto = masterDataService.getRegistrationCenterMachineDetails();

String imp_guidelines = globalParamRepository.getCachedStringGlobalParam(RegistrationConstants.TEMPLATE_IMPORTANT_GUIDELINES
+"_"+registrationDto.getSelectedLanguages().get(0));

velocityContext.put("isPreview", isPreview);
velocityContext.put("ImportantGuidelines", imp_guidelines);
velocityContext.put("ApplicationIDLabel", appContext.getString(R.string.app_id));
velocityContext.put("ApplicationID", registrationDto.getRId());
velocityContext.put("UINLabel", appContext.getString(R.string.uin));
Expand All @@ -416,7 +424,6 @@ private void setBasicDetails(boolean isPreview, RegistrationDto registrationDto,
velocityContext.put("ROName", sharedPreferences.getString(USER_NAME, ""));
velocityContext.put("RegCenterLabel", appContext.getString(R.string.reg_center));
velocityContext.put("RegCenter", centerMachineDto.getCenterId());
velocityContext.put("ImportantGuidelines", appContext.getString(R.string.imp_guidelines));

velocityContext.put("LeftEyeLabel", appContext.getString(R.string.left_iris));
velocityContext.put("RightEyeLabel", appContext.getString(R.string.right_iris));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import io.mosip.registration.clientmanager.entity.Location;
import io.mosip.registration.clientmanager.exception.RegBaseCheckedException;
import io.mosip.registration.clientmanager.exception.RegBaseUncheckedException;
import io.mosip.registration.clientmanager.repository.GlobalParamRepository;
import io.mosip.registration.clientmanager.repository.IdentitySchemaRepository;
import io.mosip.registration.clientmanager.service.external.PreRegZipHandlingService;
import io.mosip.registration.clientmanager.spi.MasterDataService;
Expand Down Expand Up @@ -85,10 +86,11 @@ public class PreRegZipHandlingServiceImpl implements PreRegZipHandlingService {

private Map<String, DocumentDto> documents;
MasterDataService masterDataService;
GlobalParamRepository globalParamRepository;

Context appContext;

public PreRegZipHandlingServiceImpl(Context appContext,ApplicantValidDocumentDao applicantValidDocumentDao, IdentitySchemaRepository identitySchemaService, ClientCryptoManagerService clientCryptoFacade,RegistrationService registrationService,CryptoManagerService cryptoManagerService,PacketKeeper packetKeeper,IPacketCryptoService iPacketCryptoService,MasterDataService masterDataService) {
public PreRegZipHandlingServiceImpl(Context appContext,ApplicantValidDocumentDao applicantValidDocumentDao, IdentitySchemaRepository identitySchemaService, ClientCryptoManagerService clientCryptoFacade,RegistrationService registrationService,CryptoManagerService cryptoManagerService,PacketKeeper packetKeeper,IPacketCryptoService iPacketCryptoService,MasterDataService masterDataService,GlobalParamRepository globalParamRepository) {
this.appContext = appContext;
this.applicantValidDocumentDao = applicantValidDocumentDao;
this.identitySchemaService = identitySchemaService;
Expand All @@ -99,6 +101,7 @@ public PreRegZipHandlingServiceImpl(Context appContext,ApplicantValidDocumentDao
this.iPacketCryptoService = iPacketCryptoService;
this.documents = new HashMap<>();
this.masterDataService = masterDataService;
this.globalParamRepository = globalParamRepository;
try {
initPreRegAdapter(appContext);
} catch (Exception e) {
Expand Down Expand Up @@ -415,7 +418,8 @@ public PreRegistrationDto encryptAndSavePreRegPacket(String preRegistrationId, S
public String storePreRegPacketToDisk(String preRegistrationId, byte[] encryptedPacket, CenterMachineDto centerMachineDto)
throws RegBaseUncheckedException {
try {
String PRE_REG_PACKET = ConfigService.getProperty("mosip.registration.registration_pre_reg_packet_location", appContext);
//String PRE_REG_PACKET = ConfigService.getProperty("mosip.registration.registration_pre_reg_packet_location", appContext);
String PRE_REG_PACKET = this.globalParamRepository.getCachedStringPreRegPacketLocation();

// Generate the file path for storing the Encrypted Packet
File localFilePath = new File(this.appContext.getFilesDir() + SEPARATOR + PRE_REG_PACKET);
Expand Down
2 changes: 1 addition & 1 deletion assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@
"approve": "APPROVE",
"reject": "REJECT",
"reject_dialog_heading": "Reject Packet?",
"reject_dialog_subheading": "Please select a reason for packet rejection. You can can change you review to approve or reset the status of review later.",
"reject_dialog_subheading": "Please select a reason for packet rejection. You can change your review to approve or reset the review status later.",
"reason_rejection": "Reason for rejection",
"no_reason_selected": "Please select a reason...",
"supervisor_auth_heading": "Supervisor's Authentication",
Expand Down
2 changes: 1 addition & 1 deletion assets/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@
"approve": "APPROUVER",
"reject": "REJETER",
"reject_dialog_heading": "Rejeter le paquet?",
"reject_dialog_subheading": "Veuillez sélectionner un motif de rejet du paquet. Vous pouvez modifier votre révision pour l'approuver ou réinitialiser le statut de la révision ultérieurement.",
"reject_dialog_subheading": "Veuillez sélectionner un motif de rejet du paquet. Vous pouvez modifier votre avis pour l'approuver ou réinitialiser le statut de l'avis ultérieurement.",
"reason_rejection": "Raison du rejet",
"no_reason_selected": "Veuillez sélectionner une raison...",
"supervisor_auth_heading": "Authentification du superviseur",
Expand Down
Loading
Loading