Merge branch 'develop' into feature/tabbar_animation
This commit is contained in:
commit
592b1603ab
@ -120,7 +120,6 @@
|
||||
AFBB96B81FBA3CEC0008D868 /* MVMCoreActionDelegateProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = AFBB96B51FBA3CEC0008D868 /* MVMCoreActionDelegateProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
AFBB96B91FBA3CEC0008D868 /* MVMCoreActionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AFBB96B61FBA3CEC0008D868 /* MVMCoreActionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
AFBB96BA1FBA3CEC0008D868 /* MVMCoreActionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBB96B71FBA3CEC0008D868 /* MVMCoreActionHandler.m */; };
|
||||
AFBB96EB1FBA4A260008D868 /* canned.json in Resources */ = {isa = PBXBuildFile; fileRef = AFBB96E81FBA4A260008D868 /* canned.json */; };
|
||||
AFBB96EC1FBA4A260008D868 /* MFHardCodedServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = AFBB96E91FBA4A260008D868 /* MFHardCodedServerResponse.h */; };
|
||||
AFBB96ED1FBA4A260008D868 /* MFHardCodedServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBB96EA1FBA4A260008D868 /* MFHardCodedServerResponse.m */; };
|
||||
AFC5FA161FFC2E2A00C244CF /* MVMCoreGlobalTopAlertDelegateProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = AFC5FA141FFC2E2A00C244CF /* MVMCoreGlobalTopAlertDelegateProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -252,7 +251,6 @@
|
||||
AFBB96B61FBA3CEC0008D868 /* MVMCoreActionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVMCoreActionHandler.h; sourceTree = "<group>"; };
|
||||
AFBB96B71FBA3CEC0008D868 /* MVMCoreActionHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MVMCoreActionHandler.m; sourceTree = "<group>"; };
|
||||
AFBB96D21FBA44420008D868 /* VZWAuthentication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VZWAuthentication.framework; path = ../../SharedFrameworks/VZWAuthentication.framework; sourceTree = "<group>"; };
|
||||
AFBB96E81FBA4A260008D868 /* canned.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = canned.json; sourceTree = "<group>"; };
|
||||
AFBB96E91FBA4A260008D868 /* MFHardCodedServerResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MFHardCodedServerResponse.h; sourceTree = "<group>"; };
|
||||
AFBB96EA1FBA4A260008D868 /* MFHardCodedServerResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MFHardCodedServerResponse.m; sourceTree = "<group>"; };
|
||||
AFC5FA141FFC2E2A00C244CF /* MVMCoreGlobalTopAlertDelegateProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MVMCoreGlobalTopAlertDelegateProtocol.h; sourceTree = "<group>"; };
|
||||
@ -580,7 +578,6 @@
|
||||
AFBB96E71FBA4A260008D868 /* HardCodedServerResponse */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AFBB96E81FBA4A260008D868 /* canned.json */,
|
||||
AFBB96E91FBA4A260008D868 /* MFHardCodedServerResponse.h */,
|
||||
AFBB96EA1FBA4A260008D868 /* MFHardCodedServerResponse.m */,
|
||||
);
|
||||
@ -741,7 +738,6 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AFBB96EB1FBA4A260008D868 /* canned.json in Resources */,
|
||||
AF26DDAE1FCE6A37004E8F65 /* Localizable.strings in Resources */,
|
||||
AFBB96561FBA3A570008D868 /* freebee.json in Resources */,
|
||||
AFBB96591FBA3A570008D868 /* freebeelaunchApp.json in Resources */,
|
||||
@ -971,6 +967,7 @@
|
||||
"$(PROJECT_DIR)/MVMCore/EmbeddedLibaries/AdobeMobileLibrary",
|
||||
"$(PROJECT_DIR)/MVMCore/EmbeddedLibraries/VZAnalytics",
|
||||
);
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.vzw.MVMCore;
|
||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||
SKIP_INSTALL = YES;
|
||||
|
||||
@ -165,7 +165,7 @@
|
||||
|
||||
// Sets up the Initial parameters.
|
||||
if (requestParameters.addInitialRequestParameters) {
|
||||
NSDictionary *initialParameters = [[MVMCoreSessionObject sharedGlobal] getInitialParameters];
|
||||
NSDictionary *initialParameters = [[MVMCoreSessionObject sharedGlobal] getInitialParametersExcludingSections:requestParameters.excludedInitialParameters];
|
||||
if (initialParameters) {
|
||||
[parameters setObject:initialParameters forKey:@"InitialParams"];
|
||||
}
|
||||
@ -310,8 +310,15 @@
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
NSURLSession *session = [MVMCoreSessionObject sharedGlobal].session;
|
||||
|
||||
if (!session) {
|
||||
#warning Hotfix for when session is nil. We should switch to logging these errors once we fix how session handler misses canceling certain calls because they happen at the same time.
|
||||
error = [[MVMCoreErrorObject alloc] initWithTitle:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorTitle] message:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorCritical] messageToLog:nil code:ErrorCodeDefault domain:ErrorDomainNative location:locationForError];
|
||||
error.logError = NO;
|
||||
requestFinished(nil,error);
|
||||
}
|
||||
|
||||
if ([[MFFreebeeHandler sharedHandler] isFreeBeeEnabled]
|
||||
&& [[MFFreebeeHandler sharedHandler] isValidCampaign]) {
|
||||
BOOL isAllowedPage = [[MFFreebeeHandler sharedHandler] isAllowedPage:requestParameters.pageType];
|
||||
|
||||
@ -56,4 +56,7 @@
|
||||
|
||||
- (nullable instancetype)initWithPageJSON:(nullable NSDictionary *)pageJSON errorObject:(nullable MVMCoreErrorObject *)errorObject;
|
||||
|
||||
// Returns whether the load will extend the app session timer based on the response provided by the server.
|
||||
- (BOOL)extendsAppSession;
|
||||
|
||||
@end
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
#import "MVMCoreLoadObject.h"
|
||||
#import "MVMCoreErrorObject.h"
|
||||
#import "MVMCoreJSONConstants.h"
|
||||
#import "NSDictionary+MFConvenience.h"
|
||||
|
||||
@implementation MVMCoreLoadObject
|
||||
|
||||
@ -54,4 +55,9 @@
|
||||
return self;
|
||||
}
|
||||
|
||||
- (BOOL)extendsAppSession {
|
||||
NSNumber *extendSessionFlag = [self.responseInfoMap objectForKey:@"appSessionExtended" ofType:[NSNumber class]];
|
||||
return !extendSessionFlag || [extendSessionFlag boolValue]; // Default to YES if the key does not exist.
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@ -163,7 +163,7 @@
|
||||
if ([loadObject.operation checkAndHandleForCancellation]) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (loadObject.pageDataFromCache || loadObject.pageType) {
|
||||
|
||||
// Can continue loading with the page.
|
||||
@ -283,10 +283,8 @@
|
||||
|
||||
if ([jsonObject isKindOfClass:[NSDictionary class]]) {
|
||||
|
||||
// Update the session timer on a good response.
|
||||
[[MVMCoreSessionTimeHandler sharedSessionHandler] startSessionTimer];
|
||||
|
||||
completionHandler(jsonObject);
|
||||
|
||||
} else {
|
||||
|
||||
// Error json not correct format.
|
||||
@ -365,6 +363,11 @@
|
||||
// Sets the response info map
|
||||
loadObject.responseInfoMap = [jsonDictionary dict:KeyResponseInfo];
|
||||
|
||||
// Update the session timer on a good response.
|
||||
if (loadObject.extendsAppSession) {
|
||||
[[MVMCoreSessionTimeHandler sharedSessionHandler] startSessionTimer];
|
||||
}
|
||||
|
||||
// Dismiss any top alerts that server wants us to dismiss
|
||||
[[MVMCoreAlertHandler sharedAlertHandler] hidePersistentTopAlertViewOfType:[loadObject.responseInfoMap string:@"disableType"]];
|
||||
|
||||
|
||||
@ -63,6 +63,9 @@ typedef NS_ENUM(NSInteger, MFLoadStyle) {
|
||||
// A flag for if we should be adding the initial request parameters.
|
||||
@property (assign, nonatomic) BOOL addInitialRequestParameters;
|
||||
|
||||
// A list of initial parameter sections to blacklist / skip.
|
||||
@property (nullable, strong, nonatomic) NSSet<NSString *> *excludedInitialParameters;
|
||||
|
||||
// A flag for if we should always show alerts, even during a background load.
|
||||
@property (assign) BOOL allowAlertsIfBackgroundRequest;
|
||||
|
||||
@ -88,7 +91,7 @@ typedef NS_ENUM(NSInteger, MFLoadStyle) {
|
||||
@property (nonatomic) BOOL openSupportPanel;
|
||||
|
||||
// A list of page types that this operation should NOT be loaded in parallel with.
|
||||
@property (nonatomic) NSArray<NSString *>* _Nullable successivePageTypes;
|
||||
@property (nullable, strong, nonatomic) NSArray<NSString *> * successivePageTypes;
|
||||
|
||||
// Creates an object with the given page type and extra parameters. Adds the extra parameters to the standard request parameters. Will add any modules needed by the page type by default.
|
||||
- (nullable instancetype)initWithPageType:(nonnull NSString *)pageType extraParameters:(nullable NSDictionary *)extraParameters;
|
||||
|
||||
@ -125,6 +125,7 @@
|
||||
copyObject.shouldNotGoToServerOnCacheFail = self.shouldNotGoToServerOnCacheFail;
|
||||
copyObject.neverLoadFromCache = self.neverLoadFromCache;
|
||||
copyObject.addInitialRequestParameters = self.addInitialRequestParameters;
|
||||
copyObject.excludedInitialParameters = self.excludedInitialParameters;
|
||||
copyObject.tabWasPressed = self.tabWasPressed;
|
||||
copyObject.navigationController = self.navigationController;
|
||||
copyObject.allowAlertsIfBackgroundRequest = self.allowAlertsIfBackgroundRequest;
|
||||
|
||||
@ -28,6 +28,8 @@
|
||||
|
||||
// Gets inital parameters for request parameters.
|
||||
- (nullable NSDictionary *)getInitialParameters;
|
||||
// Gets inital parameters for request parameters excluding any items given a list of key names.
|
||||
- (nullable NSDictionary *)getInitialParametersExcludingSections:(nullable NSSet<NSString *> *)excludeSections;
|
||||
|
||||
// Restarts the application session state. Can clear variables and pass a page type if needed.
|
||||
- (void)restartSessionWithPageType:(nullable NSString *)pageType parameters:(nullable NSDictionary *)parameters clearAllVariables:(BOOL)clearAllVariables;
|
||||
|
||||
@ -16,6 +16,10 @@
|
||||
}
|
||||
|
||||
- (nullable NSDictionary *)getInitialParameters {
|
||||
return [self getInitialParametersExcludingSections:nil];
|
||||
}
|
||||
|
||||
- (nullable NSDictionary *)getInitialParametersExcludingSections:(nullable NSSet<NSString *> *)excludeSections {
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
#import "MFHardCodedServerResponse.h"
|
||||
#import "MVMCoreRequestParameters.h"
|
||||
#import "NSDictionary+MFConvenience.h"
|
||||
#import "MVMCoreLoggingHandler.h"
|
||||
|
||||
#if ENABLE_HARD_CODED_RESPONSE
|
||||
|
||||
@ -48,7 +49,7 @@
|
||||
if(error) {
|
||||
MVMCoreLog(@"Error creating JSON!");
|
||||
} else {
|
||||
//DLog(@"Canned json responses:%@", jsonObj);
|
||||
//MVMCoreLog(@"Loaded canned json responses:\n%@", jsonObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,678 +0,0 @@
|
||||
{
|
||||
"selectFeedbackSource": {
|
||||
"ResponseInfo": {
|
||||
"locale": "EN",
|
||||
"server": "twswcmvmzad03.tdc.vzwcorp.com-srv01_nmobilefirst01",
|
||||
"userMessage": "0",
|
||||
"code": "00000",
|
||||
"message": "0",
|
||||
"mdn": "7323798012",
|
||||
"buildNumber": "9633",
|
||||
"type": "Success",
|
||||
"requestId": "990372c1-19de-44b1-935f-6cedfbe36d41"
|
||||
},
|
||||
"Page": {
|
||||
"pageType": "exploreZoneRtl",
|
||||
"parentPageType": "visitUsRtl",
|
||||
"tab": [
|
||||
{
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneRtl",
|
||||
"extraParameters": {
|
||||
"zoneId": "90",
|
||||
"zoneName": "GetFitZone"
|
||||
},
|
||||
"itemName": "Get Fit",
|
||||
"title": "Get Fit",
|
||||
"appContext": "mobileFirstSS",
|
||||
"modules": [
|
||||
"GetFitZone"
|
||||
]
|
||||
},
|
||||
{
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneRtl",
|
||||
"extraParameters": {
|
||||
"zoneId": "91",
|
||||
"zoneName": "AmplifyItZone"
|
||||
},
|
||||
"itemName": "Amplify It",
|
||||
"title": "Amplify It",
|
||||
"appContext": "mobileFirstSS",
|
||||
"modules": [
|
||||
"AmplifyItZone"
|
||||
]
|
||||
},
|
||||
{
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneRtl",
|
||||
"extraParameters": {
|
||||
"zoneId": "93",
|
||||
"zoneName": "HomeServicesZone"
|
||||
},
|
||||
"itemName": "Home Service",
|
||||
"title": "Home Service",
|
||||
"appContext": "mobileFirstSS",
|
||||
"modules": [
|
||||
"HomeServicesZone"
|
||||
]
|
||||
}
|
||||
],
|
||||
"beaconids": [
|
||||
{
|
||||
"tabIndex": 0,
|
||||
"minor": 23233,
|
||||
"zoneId": 90,
|
||||
"major": 7203,
|
||||
"locationCode": "W078801",
|
||||
"header": null
|
||||
},
|
||||
{
|
||||
"tabIndex": 1,
|
||||
"minor": 23424,
|
||||
"zoneId": 91,
|
||||
"major": 7203,
|
||||
"locationCode": "W078801",
|
||||
"header": null
|
||||
},
|
||||
{
|
||||
"tabIndex": 2,
|
||||
"minor": 24016,
|
||||
"zoneId": 93,
|
||||
"major": 7203,
|
||||
"locationCode": "W078801",
|
||||
"header": null
|
||||
}
|
||||
],
|
||||
"title": "Title",
|
||||
"message": "Please enable your Bluetooth to detect the zone you are exploring",
|
||||
"currentTabIndex": 1,
|
||||
"ButtonMap": {
|
||||
"AsyncCallButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneModAsyncRtl",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Explore Zone Async Call",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"screenHeading": "Explore Products"
|
||||
},
|
||||
"ModuleMap": {
|
||||
"AmplifyItZone": {
|
||||
"mappoint": "AmplifyItZone",
|
||||
"zoneId": "91",
|
||||
"name": "Amplify It",
|
||||
"ResponseInfo": {
|
||||
"locale": "EN",
|
||||
"code": "00000",
|
||||
"message": "0",
|
||||
"userMessage": "0",
|
||||
"type": "Success"
|
||||
},
|
||||
"skuList": [
|
||||
[
|
||||
{
|
||||
"deviceTitle": "Flip 2",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#003399",
|
||||
"colorName": "Blue",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/jbl-flip-2-blue-FLIPIIBLUAM-imageset?$acc-lg$",
|
||||
"preSelected": false,
|
||||
"qty": 349991,
|
||||
"skuId": "FLIPIIBLUAM",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "FLIPIIBLUAM",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIBLUAM"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIBLUAM"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc2040005",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "79.98"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "79.98"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku870003",
|
||||
"stockInStore": true
|
||||
},
|
||||
{
|
||||
"deviceTitle": "Flip 2",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#000000",
|
||||
"colorName": "Black",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/jbl-flip-2-black-FLIPIIBLKAM-imageset?$acc-lg$",
|
||||
"preSelected": true,
|
||||
"qty": 349880,
|
||||
"skuId": "FLIPIIBLKAM",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "FLIPIIBLKAM",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIBLKAM"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIBLKAM"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc2040005",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "69.98"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "69.98"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku870008",
|
||||
"stockInStore": true
|
||||
},
|
||||
{
|
||||
"deviceTitle": "Flip 2",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#ff0000",
|
||||
"colorName": "Red",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/jbl-flip-2-red-FLIPIIREDAM-imageset?$acc-lg$",
|
||||
"preSelected": false,
|
||||
"qty": 349989,
|
||||
"skuId": "FLIPIIREDAM",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "FLIPIIREDAM",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIREDAM"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIREDAM"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc2040005",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "79.98"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "79.98"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku870005",
|
||||
"stockInStore": true
|
||||
},
|
||||
{
|
||||
"deviceTitle": "Flip 2",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#FFFF00",
|
||||
"colorName": "Yellow",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/jbl-flip-2-yellow-FLIPIIYELAM-imageset?$acc-lg$",
|
||||
"preSelected": false,
|
||||
"qty": 350000,
|
||||
"skuId": "FLIPIIYELAM",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "FLIPIIYELAM",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIYELAM"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIYELAM"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc2040005",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "79.98"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "79.98"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku870006",
|
||||
"stockInStore": true
|
||||
},
|
||||
{
|
||||
"deviceTitle": "Flip 2",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#FFFFFF",
|
||||
"colorName": "White",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/jbl-flip-2-white-FLIPIIWHTAM-imageset?$acc-lg$",
|
||||
"preSelected": false,
|
||||
"qty": 349999,
|
||||
"skuId": "FLIPIIWHTAM",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "FLIPIIWHTAM",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIWHTAM"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "FLIPIIWHTAM"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc2040005",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "79.98"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "79.98"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku870007",
|
||||
"stockInStore": true
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"deviceTitle": "QuietComfort 25 Acoustic Noise Cancelling headphones - Apple devices",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#FFFFFF",
|
||||
"colorName": "White",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/bose-quietcomfort-25-acoustic-noise-cancelling-headphones-white-iset-715053-0020?$acc-lg$",
|
||||
"preSelected": false,
|
||||
"qty": 99986,
|
||||
"skuId": "715053-0020",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "715053-0020",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "715053-0020"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "715053-0020"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc4120007",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "299.99"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "299.99"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku1450111",
|
||||
"stockInStore": true
|
||||
},
|
||||
{
|
||||
"deviceTitle": "QuietComfort 25 Acoustic Noise Cancelling headphones - Apple devices",
|
||||
"stockInWarehouse": false,
|
||||
"colorCode": "#000000",
|
||||
"colorName": "Black",
|
||||
"isDevice": false,
|
||||
"discountFlag": false,
|
||||
"imageUrl": "https://mobile-edev.vzw.com/dev01/geofencing/instore/images/smart/s7/is/image/VerizonWireless/bose-quietcomfort-25-acoustic-noise-cancelling-headphones-black-iset-715053-0010?$acc-lg$",
|
||||
"preSelected": true,
|
||||
"qty": 99974,
|
||||
"skuId": "715053-0010",
|
||||
"ButtonMap": {
|
||||
"PrimaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "addToSharedCartRtl",
|
||||
"extraParameters": {
|
||||
"cmd": "add",
|
||||
"cart": [
|
||||
{
|
||||
"sku": "715053-0010",
|
||||
"qty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Add to cart",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"MoreColors": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "exploreZoneMoreClrsRtl",
|
||||
"extraParameters": {
|
||||
"sku": "715053-0010"
|
||||
},
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "More colors",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
},
|
||||
"SecondaryButton": {
|
||||
"actionType": "openPage",
|
||||
"pageType": "getPDPBySKURtl",
|
||||
"extraParameters": {
|
||||
"sku": "715053-0010"
|
||||
},
|
||||
"presentationStyle": "push",
|
||||
"tryToReplaceFirst": false,
|
||||
"title": "Learn more",
|
||||
"selected": false,
|
||||
"disableAction": false,
|
||||
"appContext": "mobileFirstSS",
|
||||
"isSelected": false
|
||||
}
|
||||
},
|
||||
"inStorePurchase": false,
|
||||
"fallBackImageUrl": "ICON_DFLT_ACCESSORY_IMG",
|
||||
"accessoryId": "acc4120007",
|
||||
"inventoryMsg": "In stock, take it with you today.",
|
||||
"priceMap": {
|
||||
"netPrice": {
|
||||
"price": "299.99"
|
||||
},
|
||||
"discountPrice": {
|
||||
"price": "0"
|
||||
},
|
||||
"originalPrice": {
|
||||
"price": "299.99"
|
||||
}
|
||||
},
|
||||
"device": false,
|
||||
"sorId": "sku1450115",
|
||||
"stockInStore": true
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user