From 170b7acf620ef516e5a1a6dd98d397240462d945 Mon Sep 17 00:00:00 2001 From: Aravindan Date: Thu, 19 Mar 2015 23:53:20 +0530 Subject: [PATCH] Fixed Review processing and Rating data in PDP --- TheGimbalStore.iml | 4 +- .../gimbal/store/activity/HomeActivity.java | 83 ++-- .../store/activity/PromotionsActivity.java | 2 +- .../processor/impl/PostReviewsProcessor.java | 2 + .../processor/impl/ProductItemProcessor.java | 22 +- .../codes/gimbal/store/bean/ProductBean.java | 35 +- .../codes/gimbal/store/bean/RatingBean.java | 23 - .../codes/gimbal/store/bean/ReviewBean.java | 70 +-- .../gimbal/store/bean/ReviewDataBean.java | 35 ++ .../codes/gimbal/store/bean/ReviewResult.java | 457 ------------------ .../store/constant/GimbalStoreConstants.java | 2 +- .../service/StoreGimbalDeviceService.java | 86 +++- .../store/utils/TypeConversionUtil.java | 10 +- app/src/main/res/values/integers.xml | 2 +- 14 files changed, 197 insertions(+), 636 deletions(-) delete mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/RatingBean.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewDataBean.java delete mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewResult.java diff --git a/TheGimbalStore.iml b/TheGimbalStore.iml index 0bb6048..5550340 100644 --- a/TheGimbalStore.iml +++ b/TheGimbalStore.iml @@ -7,7 +7,9 @@ - + + + diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java index e62e099..5fc6918 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java @@ -78,6 +78,7 @@ public class HomeActivity extends Activity private static int BEACON_SIGHTING_INTERVAL_SECONDS; private Activity mActivity; + private boolean enteredRegion = false; private static final int SETTINGS_RESULT = 1; @@ -86,7 +87,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); mActivity = this; - BEACON_SIGHTING_INTERVAL_SECONDS = getResources().getInteger(R.integer.GIMBAL_BEACON_SIGHTING_INTERVAL); + BEACON_SIGHTING_INTERVAL_SECONDS = getResources().getInteger(R.integer.GIMBAL_BEACON_SIGHTING_DISTANCE); mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.navigation_drawer); @@ -195,51 +196,61 @@ private void processCategoryListData() { @Override public void onBeaconServiceConnect() { if (beaconManager != null) { + final double DEVICE_CIRCLE_DISTANCE_LIMIT = getResources().getInteger(R.integer.GIMBAL_BEACON_SIGHTING_DISTANCE); try { beaconManager.setRangeNotifier(new RangeNotifier() { @Override public void didRangeBeaconsInRegion(Collection beacons, Region region) { try { - if (beaconEncounterSeconds % BEACON_SIGHTING_INTERVAL_SECONDS == 0 && - beacons.size() > 0) { - Log.d("DEBUG", "beaconEncounterSecond = " + beaconEncounterSeconds); + if (beacons.size() > 0) { + // Log.d("DEBUG", "beaconEncounterSecond = " + beaconEncounterSeconds); String deviceIdList = ""; for (Beacon beacon : beacons) { - Log.d("GIMBAL", " beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away."); - if (!deviceIdList.isEmpty()) { - deviceIdList += ","; + // Log.d("GIMBAL", "Entered region flag : " + enteredRegion + " beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away."); + + if ((beacon.getDistance() <= DEVICE_CIRCLE_DISTANCE_LIMIT) && !enteredRegion) { + Log.d("GIMBAL", "*********Entered region since the beacon is within 1 meter range : " + beacon.getDistance()); + enteredRegion = true; + GimbalPromotionsDataProcessor gpDataProcessor = new GimbalPromotionsDataProcessor(mActivity, + null, null, + null, null, + null); + if (!deviceIdList.isEmpty()) { + deviceIdList += ","; + } + String deviceId = beacon.getId1() + + GimbalStoreConstants.DELIMITER_HYPHEN + + beacon.getId2() + + GimbalStoreConstants.DELIMITER_HYPHEN + + beacon.getId3(); + deviceIdList += deviceId; + Log.d("DEBUG", "Server URL = " + ServerURLUtil.getStoreServletServerURL(getResources())); + Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); + + + paramsMap.put(StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.marketing.toString()); + paramsMap.put(StoreParameterKeys.beaconId.toString(), + deviceIdList); + + String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), + GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); + Log.d("DEBUG", paramsMap.toString()); + HttpConnectionAsyncTask handler = new HttpConnectionAsyncTask(HTTP_METHODS.GET, + Arrays.asList(new String[]{ServerURLUtil.getStoreServletServerURL(getResources())}), + Arrays.asList(paramsMap), cookieString, + gpDataProcessor); + handler.execute(new String[]{}); + } + + if (enteredRegion && (beacon.getDistance() > DEVICE_CIRCLE_DISTANCE_LIMIT)) { + Log.d("GIMBAL", "*********Exited region because the distance is greater than 1 : " + + beacon.getDistance()); + enteredRegion = false; } - String deviceId = beacon.getId1() - + GimbalStoreConstants.DELIMITER_HYPHEN - + beacon.getId2() - + GimbalStoreConstants.DELIMITER_HYPHEN - + beacon.getId3(); - deviceIdList += deviceId; } - GimbalPromotionsDataProcessor gpDataProcessor = new GimbalPromotionsDataProcessor(mActivity, - null, null, - null, null, - null); - // Log.d("DEBUG", "Server URL = " + ServerURLUtil.getStoreServletServerURL(getResources())); - Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); - - - paramsMap.put(StoreParameterKeys.type.toString(), - GimbalStoreConstants.StoreParameterValues.marketing.toString()); - paramsMap.put(StoreParameterKeys.beaconIds.toString(), - deviceIdList); - - String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), - GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); - // Log.d("DEBUG", paramsMap.toString()); - HttpConnectionAsyncTask handler = new HttpConnectionAsyncTask(HTTP_METHODS.GET, - Arrays.asList(new String[]{ServerURLUtil.getStoreServletServerURL(getResources())}), - Arrays.asList(paramsMap), cookieString, - gpDataProcessor); - handler.execute(new String[]{}); + } - Thread.sleep(1000); - beaconEncounterSeconds++; + //beaconEncounterSeconds++; } catch (Exception e) { Log.e("ERROR", e.getMessage(), e); } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/PromotionsActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/PromotionsActivity.java index 2a0145d..f6aa41a 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/PromotionsActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/PromotionsActivity.java @@ -44,7 +44,7 @@ protected void onCreate(Bundle savedInstanceState) { paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), GimbalStoreConstants.StoreParameterValues.marketing.toString()); - paramsMap.put(GimbalStoreConstants.StoreParameterKeys.beaconIds.toString(), + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.beaconId.toString(), selectedBeaconsList); String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/PostReviewsProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/PostReviewsProcessor.java index 273e1a8..e65fea4 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/PostReviewsProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/PostReviewsProcessor.java @@ -59,6 +59,8 @@ public boolean doProcess(List responseItemBeansList) { } if (intent != null) { Log.d("DEBUG", "In review post processor prodId = " + intent.getStringExtra(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_PRODUCT_ID.toString())); + callingActivity.startActivity(intent); + callingActivity.finish(); } Log.d("DEBUG", "Review submitted successfully!!"); } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/ProductItemProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/ProductItemProcessor.java index f37d947..148163a 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/ProductItemProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/ProductItemProcessor.java @@ -11,7 +11,7 @@ import com.avnet.gears.codes.gimbal.store.async.response.processor.AsyncResponseProcessor; import com.avnet.gears.codes.gimbal.store.bean.ProductBean; import com.avnet.gears.codes.gimbal.store.bean.ResponseItemBean; -import com.avnet.gears.codes.gimbal.store.bean.ReviewBean; +import com.avnet.gears.codes.gimbal.store.bean.ReviewDataBean; import com.avnet.gears.codes.gimbal.store.bean.response.ProductsResponseBean; import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; import com.avnet.gears.codes.gimbal.store.handler.ImageResponseAsyncTask; @@ -74,6 +74,7 @@ public boolean doProcess(List responseItemBeanList) { responseString = responseString.trim() .replace(GimbalStoreConstants.START_COMMENT_STRING, "") .replace(GimbalStoreConstants.END_COMMENT_STRING, ""); + Log.d("DEBUG","responseString = " + responseString); // get the list of sub categories and populate it to the adapter Gson gson = new GsonBuilder().disableHtmlEscaping().create(); @@ -96,28 +97,25 @@ public void run() { priceView.setText(productBean.getPrice()); } - ReviewBean reviews = productBean.getReviews(); + ReviewDataBean reviews = productBean.getReviews(); if (reviews != null) { if (reviewsListView != null) { - if (reviews.getTotalResults() != null && "0".equals(reviews.getTotalResults())) { + if (reviews != null && reviews.getReviews() != null) { reviewTitleView.setText(MessageFormat.format(GimbalStoreConstants.MESSAGE_PRODUCT_GOT_REVIEWS, - new Object[]{reviews.getTotalResults()})); + new Object[]{reviews.getReviews().length})); } else { reviewTitleView.setText(GimbalStoreConstants.MESSAGE_NO_REVIEWS); } } - if (reviews.getResults() != null) { + if (reviews.getAverageRating() != null) { if (ratingView != null) { - Log.d("DEBUG", "Rating overall = " + reviews.getIncludes()); - if (reviews.getIncludes() != null && - reviews.getIncludes().getReviewStatistics() != null && - reviews.getIncludes().getReviewStatistics().getAverageOverallRating() != null) { - ratingView.setText(GimbalStoreConstants.LABEL_OVERALL_RATING + reviews.getIncludes().getReviewStatistics().getAverageOverallRating()); - } + // Log.d("DEBUG", "Rating overall = " + reviews.getIncludes()); + ratingView.setText(GimbalStoreConstants.LABEL_OVERALL_RATING + reviews.getAverageRating()); + } - List reviewString = TypeConversionUtil.getReviewTextAsStrings(Arrays.asList(reviews.getResults())); + List reviewString = TypeConversionUtil.getReviewTextAsStrings(Arrays.asList(reviews.getReviews())); ArrayAdapter reviewsAdapter = new ArrayAdapter(parentActivity, android.R.layout.simple_list_item_1, reviewString); diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ProductBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ProductBean.java index 25e89a0..d1f0334 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ProductBean.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ProductBean.java @@ -9,10 +9,9 @@ public class ProductBean extends BaseServerDataBean { private String partNumber; private String price; - private String rating; - private ReviewBean reviews; + private ReviewDataBean reviews; private String[] attribute; public String getPartNumber() { @@ -23,11 +22,19 @@ public void setPartNumber(String partNumber) { this.partNumber = partNumber; } - public ReviewBean getReviews() { + public String getPrice() { + return price; + } + + public void setPrice(String price) { + this.price = price; + } + + public ReviewDataBean getReviews() { return reviews; } - public void setReviews(ReviewBean reviews) { + public void setReviews(ReviewDataBean reviews) { this.reviews = reviews; } @@ -39,26 +46,6 @@ public void setAttribute(String[] attribute) { this.attribute = attribute; } - public String getRating() { - return rating; - } - - public void setRating(String rating) { - this.rating = rating; - } - - public String getPrice() { - return price; - } - - public void setPrice(String price) { - this.price = price; - } - - public void setUniqueId(String[] uniqueId) { - this.uniqueId = uniqueId[0]; - } - @Override public String toString() { return super.toString() + diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/RatingBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/RatingBean.java deleted file mode 100644 index 91a226a..0000000 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/RatingBean.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.avnet.gears.codes.gimbal.store.bean; - -/** - * Created by 914889 on 3/18/15. - */ -public class RatingBean { - private ReviewStatistics ReviewStatistics; - - public ReviewStatistics getReviewStatistics() { - return ReviewStatistics; - } - - public void setReviewStatistics(ReviewStatistics reviewStatistics) { - ReviewStatistics = reviewStatistics; - } - - @Override - public String toString() { - return "RatingBean{" + - "ReviewStatistics=" + ReviewStatistics + - '}'; - } -} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewBean.java index c94d12b..62af88c 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewBean.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewBean.java @@ -1,76 +1,44 @@ package com.avnet.gears.codes.gimbal.store.bean; -import java.util.Arrays; - /** * Created by 914889 on 3/16/15. */ public class ReviewBean extends BaseServerDataBean { - private String TotalResults; - private String Offset; - private String HasErrors; - private ReviewResult[] Results; - private RatingBean Includes; - private String[] errors; - - public String getTotalResults() { - return TotalResults; - } - - public void setTotalResults(String totalResults) { - TotalResults = totalResults; - } - - public String getOffset() { - return Offset; - } - - public void setOffset(String offset) { - Offset = offset; - } - - public String getHasErrors() { - return HasErrors; - } - - public void setHasErrors(String hasErrors) { - HasErrors = hasErrors; - } + private String Review; + private String Rating; + private String Friend; - public ReviewResult[] getResults() { - return Results; + public String getReview() { + return Review; } - public void setResults(ReviewResult[] results) { - Results = results; + public void setReview(String review) { + Review = review; } - public RatingBean getIncludes() { - return Includes; + public String getRating() { + return Rating; } - public void setIncludes(RatingBean includes) { - Includes = includes; + public void setRating(String rating) { + Rating = rating; } - public String[] getErrors() { - return errors; + public String getFriend() { + return Friend; } - public void setErrors(String[] errors) { - this.errors = errors; + public void setFriend(String friend) { + Friend = friend; } @Override public String toString() { - return super.toString() + + return super.toString()+ "ReviewBean{" + - "TotalResults='" + TotalResults + '\'' + - ", Offset='" + Offset + '\'' + - ", HasErrors='" + HasErrors + '\'' + - ", Results=" + Arrays.toString(Results) + - ", Includes='" + Includes + '\'' + - ", errors=" + Arrays.toString(errors) + + "Review='" + Review + '\'' + + ", Rating='" + Rating + '\'' + + ", Friend='" + Friend + '\'' + '}'; } } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewDataBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewDataBean.java new file mode 100644 index 0000000..9b11e54 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewDataBean.java @@ -0,0 +1,35 @@ +package com.avnet.gears.codes.gimbal.store.bean; + +import java.util.Arrays; + +/** + * Created by 914883 on 3/19/15. + */ +public class ReviewDataBean { + private String AverageRating; + private ReviewBean[] Reviews; + + public String getAverageRating() { + return AverageRating; + } + + public void setAverageRating(String averageRating) { + AverageRating = averageRating; + } + + public ReviewBean[] getReviews() { + return Reviews; + } + + public void setReviews(ReviewBean[] reviews) { + Reviews = reviews; + } + + @Override + public String toString() { + return "ReviewDataBean{" + + "AverageRating='" + AverageRating + '\'' + + ", Reviews=" + Arrays.toString(Reviews) + + '}'; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewResult.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewResult.java deleted file mode 100644 index 2824181..0000000 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/ReviewResult.java +++ /dev/null @@ -1,457 +0,0 @@ -package com.avnet.gears.codes.gimbal.store.bean; - -import java.util.Arrays; - -/** - * Created by 914889 on 3/17/15. - */ -public class ReviewResult extends BaseServerDataBean { - private String RatingRange; - private String ReviewText; - private String UserLocation; - private Object SecondaryRatings; - private String Pros; - private String TotalFeedbackCount; - private String ProductId; - private String TotalPositiveFeedbackCount; - private String[] AdditionalFieldsOrder; - private Object Badges; - private String Locale; - private String Limit; - private String TotalNegativeFeedbackCount; - private String Cons; - private String ContentLocale; - private String Helpfulness; - private String LastModeratedTime; - private String ModerationStatus; - private String IsRatingsOnly; - private String IsFeatured; - private String SubmissionTime; - private Object ContextDataValues; - private String[] BadgesOrder; - private String LastModificationTime; - - private Object AdditionalFields; - private String[] Photos; - private String AuthorId; - private String[] ClientResponses; - private String[] TagDimensionsOrder; - private Object TagDimensions; - private String SubmissionId; - private String CampaignId; - private String[] SecondaryRatingsOrder; - private String[] ProductRecommendationIds; - private String IsRecommended; - private String IsSyndicated; - private String[] ContextDataValuesOrder; - private String TotalCommentCount; - private String[] Videos; - private String Title; - private String[] CommentIds; - private String UserNickname; - private String Id; - private String Rating; - - - public String getRatingRange() { - return RatingRange; - } - - public void setRatingRange(String ratingRange) { - RatingRange = ratingRange; - } - - public String getReviewText() { - return ReviewText; - } - - public void setReviewText(String reviewText) { - ReviewText = reviewText; - } - - public String getUserLocation() { - return UserLocation; - } - - public void setUserLocation(String userLocation) { - UserLocation = userLocation; - } - - public Object getSecondaryRatings() { - return SecondaryRatings; - } - - public void setSecondaryRatings(Object secondaryRatings) { - SecondaryRatings = secondaryRatings; - } - - public String getPros() { - return Pros; - } - - public void setPros(String pros) { - Pros = pros; - } - - public String getTotalFeedbackCount() { - return TotalFeedbackCount; - } - - public void setTotalFeedbackCount(String totalFeedbackCount) { - TotalFeedbackCount = totalFeedbackCount; - } - - public String getProductId() { - return ProductId; - } - - public void setProductId(String productId) { - ProductId = productId; - } - - public String getTotalPositiveFeedbackCount() { - return TotalPositiveFeedbackCount; - } - - public void setTotalPositiveFeedbackCount(String totalPositiveFeedbackCount) { - TotalPositiveFeedbackCount = totalPositiveFeedbackCount; - } - - public String[] getAdditionalFieldsOrder() { - return AdditionalFieldsOrder; - } - - public void setAdditionalFieldsOrder(String[] additionalFieldsOrder) { - AdditionalFieldsOrder = additionalFieldsOrder; - } - - public Object getBadges() { - return Badges; - } - - public void setBadges(Object badges) { - Badges = badges; - } - - public String getLocale() { - return Locale; - } - - public void setLocale(String locale) { - Locale = locale; - } - - public String getLimit() { - return Limit; - } - - public void setLimit(String limit) { - Limit = limit; - } - - public String getTotalNegativeFeedbackCount() { - return TotalNegativeFeedbackCount; - } - - public void setTotalNegativeFeedbackCount(String totalNegativeFeedbackCount) { - TotalNegativeFeedbackCount = totalNegativeFeedbackCount; - } - - public String getCons() { - return Cons; - } - - public void setCons(String cons) { - Cons = cons; - } - - public String getContentLocale() { - return ContentLocale; - } - - public void setContentLocale(String contentLocale) { - ContentLocale = contentLocale; - } - - public String getHelpfulness() { - return Helpfulness; - } - - public void setHelpfulness(String helpfulness) { - Helpfulness = helpfulness; - } - - public String getLastModeratedTime() { - return LastModeratedTime; - } - - public void setLastModeratedTime(String lastModeratedTime) { - LastModeratedTime = lastModeratedTime; - } - - public String getModerationStatus() { - return ModerationStatus; - } - - public void setModerationStatus(String moderationStatus) { - ModerationStatus = moderationStatus; - } - - public String getIsRatingsOnly() { - return IsRatingsOnly; - } - - public void setIsRatingsOnly(String isRatingsOnly) { - IsRatingsOnly = isRatingsOnly; - } - - public String getIsFeatured() { - return IsFeatured; - } - - public void setIsFeatured(String isFeatured) { - IsFeatured = isFeatured; - } - - public String getSubmissionTime() { - return SubmissionTime; - } - - public void setSubmissionTime(String submissionTime) { - SubmissionTime = submissionTime; - } - - public Object getContextDataValues() { - return ContextDataValues; - } - - public void setContextDataValues(Object contextDataValues) { - ContextDataValues = contextDataValues; - } - - public String[] getBadgesOrder() { - return BadgesOrder; - } - - public void setBadgesOrder(String[] badgesOrder) { - BadgesOrder = badgesOrder; - } - - public String getLastModificationTime() { - return LastModificationTime; - } - - public void setLastModificationTime(String lastModificationTime) { - LastModificationTime = lastModificationTime; - } - - public Object getAdditionalFields() { - return AdditionalFields; - } - - public void setAdditionalFields(Object additionalFields) { - AdditionalFields = additionalFields; - } - - public String[] getPhotos() { - return Photos; - } - - public void setPhotos(String[] photos) { - Photos = photos; - } - - public String getAuthorId() { - return AuthorId; - } - - public void setAuthorId(String authorId) { - AuthorId = authorId; - } - - public String[] getClientResponses() { - return ClientResponses; - } - - public void setClientResponses(String[] clientResponses) { - ClientResponses = clientResponses; - } - - public String[] getTagDimensionsOrder() { - return TagDimensionsOrder; - } - - public void setTagDimensionsOrder(String[] tagDimensionsOrder) { - TagDimensionsOrder = tagDimensionsOrder; - } - - public Object getTagDimensions() { - return TagDimensions; - } - - public void setTagDimensions(Object tagDimensions) { - TagDimensions = tagDimensions; - } - - public String getSubmissionId() { - return SubmissionId; - } - - public void setSubmissionId(String submissionId) { - SubmissionId = submissionId; - } - - public String getCampaignId() { - return CampaignId; - } - - public void setCampaignId(String campaignId) { - CampaignId = campaignId; - } - - public String[] getSecondaryRatingsOrder() { - return SecondaryRatingsOrder; - } - - public void setSecondaryRatingsOrder(String[] secondaryRatingsOrder) { - SecondaryRatingsOrder = secondaryRatingsOrder; - } - - public String[] getProductRecommendationIds() { - return ProductRecommendationIds; - } - - public void setProductRecommendationIds(String[] productRecommendationIds) { - ProductRecommendationIds = productRecommendationIds; - } - - public String getIsRecommended() { - return IsRecommended; - } - - public void setIsRecommended(String isRecommended) { - IsRecommended = isRecommended; - } - - public String getIsSyndicated() { - return IsSyndicated; - } - - public void setIsSyndicated(String isSyndicated) { - IsSyndicated = isSyndicated; - } - - public String[] getContextDataValuesOrder() { - return ContextDataValuesOrder; - } - - public void setContextDataValuesOrder(String[] contextDataValuesOrder) { - ContextDataValuesOrder = contextDataValuesOrder; - } - - public String getTotalCommentCount() { - return TotalCommentCount; - } - - public void setTotalCommentCount(String totalCommentCount) { - TotalCommentCount = totalCommentCount; - } - - public String[] getVideos() { - return Videos; - } - - public void setVideos(String[] videos) { - Videos = videos; - } - - public String getTitle() { - return Title; - } - - public void setTitle(String title) { - Title = title; - } - - public String[] getCommentIds() { - return CommentIds; - } - - public void setCommentIds(String[] commentIds) { - CommentIds = commentIds; - } - - public String getUserNickname() { - return UserNickname; - } - - public void setUserNickname(String userNickname) { - UserNickname = userNickname; - } - - public String getId() { - return Id; - } - - public void setId(String id) { - Id = id; - } - - public String getRating() { - return Rating; - } - - public void setRating(String rating) { - Rating = rating; - } - - @Override - public String toString() { - return "ReviewResult{" + - "RatingRange='" + RatingRange + '\'' + - ", ReviewText='" + ReviewText + '\'' + - ", UserLocation='" + UserLocation + '\'' + - ", SecondaryRatings='" + SecondaryRatings + '\'' + - ", Pros='" + Pros + '\'' + - ", TotalFeedbackCount='" + TotalFeedbackCount + '\'' + - ", ProductId='" + ProductId + '\'' + - ", TotalPositiveFeedbackCount='" + TotalPositiveFeedbackCount + '\'' + - ", AdditionalFieldsOrder=" + Arrays.toString(AdditionalFieldsOrder) + - ", Badges='" + Badges + '\'' + - ", Locale='" + Locale + '\'' + - ", Limit='" + Limit + '\'' + - ", TotalNegativeFeedbackCount='" + TotalNegativeFeedbackCount + '\'' + - ", Cons='" + Cons + '\'' + - ", ContentLocale='" + ContentLocale + '\'' + - ", Helpfulness='" + Helpfulness + '\'' + - ", LastModeratedTime='" + LastModeratedTime + '\'' + - ", ModerationStatus='" + ModerationStatus + '\'' + - ", IsRatingsOnly='" + IsRatingsOnly + '\'' + - ", IsFeatured='" + IsFeatured + '\'' + - ", SubmissionTime='" + SubmissionTime + '\'' + - ", ContextDataValues='" + ContextDataValues + '\'' + - ", BadgesOrder=" + Arrays.toString(BadgesOrder) + - ", LastModificationTime='" + LastModificationTime + '\'' + - ", AdditionalFields='" + AdditionalFields + '\'' + - ", Photos=" + Arrays.toString(Photos) + - ", AuthorId='" + AuthorId + '\'' + - ", ClientResponses=" + Arrays.toString(ClientResponses) + - ", TagDimensionsOrder=" + Arrays.toString(TagDimensionsOrder) + - ", TagDimensions='" + TagDimensions + '\'' + - ", SubmissionId='" + SubmissionId + '\'' + - ", CampaignId='" + CampaignId + '\'' + - ", SecondaryRatingsOrder=" + Arrays.toString(SecondaryRatingsOrder) + - ", ProductRecommendationIds=" + Arrays.toString(ProductRecommendationIds) + - ", IsRecommended='" + IsRecommended + '\'' + - ", IsSyndicated='" + IsSyndicated + '\'' + - ", ContextDataValuesOrder=" + Arrays.toString(ContextDataValuesOrder) + - ", TotalCommentCount='" + TotalCommentCount + '\'' + - ", Videos=" + Arrays.toString(Videos) + - ", Title='" + Title + '\'' + - ", CommentIds=" + Arrays.toString(CommentIds) + - ", UserNickname='" + UserNickname + '\'' + - ", Id='" + Id + '\'' + - ", Rating='" + Rating + '\'' + - '}'; - } -} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java index b91abe9..6a21b7a 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java @@ -127,7 +127,7 @@ public static enum StoreParameterKeys { reviewText, rating, rectype, - beaconIds, + beaconId, uniqueId } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGimbalDeviceService.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGimbalDeviceService.java index 4ae629d..a5d6573 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGimbalDeviceService.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGimbalDeviceService.java @@ -8,7 +8,6 @@ import android.util.Log; import com.avnet.gears.codes.gimbal.store.R; -import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; import com.avnet.gears.codes.gimbal.store.utils.AndroidUtil; import org.altbeacon.beacon.Beacon; @@ -29,7 +28,7 @@ public class StoreGimbalDeviceService extends Service implements BeaconConsumer { private BeaconManager beaconManager; private int beaconEncounterSeconds = 10; - private int BEACON_SIGHTING_INTERVAL_SECONDS; + private boolean enteredRegion = false; public StoreGimbalDeviceService() { // super(StoreGimbalDeviceIntentService.class.getName()); @@ -39,7 +38,6 @@ public StoreGimbalDeviceService() { @Override public IBinder onBind(Intent intent) { beaconManager = BeaconManager.getInstanceForApplication(this.getApplicationContext()); - BEACON_SIGHTING_INTERVAL_SECONDS = getResources().getInteger(R.integer.GIMBAL_BEACON_SIGHTING_INTERVAL); if (AndroidUtil.verifyBluetooth(this.getApplicationContext(), beaconManager)) { Log.d("GIMBAL", "StoreGimbalDeviceService Bluetooth no issues.."); beaconManager.bind(this); @@ -64,36 +62,74 @@ public void onDestroy() { @Override public void onBeaconServiceConnect() { if (beaconManager != null) { - beaconManager.setRangeNotifier(new RangeNotifier() { - @Override - public void didRangeBeaconsInRegion(Collection beacons, Region region) { - if (beaconEncounterSeconds % BEACON_SIGHTING_INTERVAL_SECONDS == 0 && - beacons.size() > 0) { - String deviceIdList = ""; - for (Beacon beacon : beacons) { - Log.d("GIMBAL", "StoreGimbalDeviceService beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away."); - if (!deviceIdList.isEmpty()) { - deviceIdList += ","; + final double DEVICE_CIRCLE_DISTANCE_LIMIT = getResources().getInteger(R.integer.GIMBAL_BEACON_SIGHTING_DISTANCE); + try { + beaconManager.setRangeNotifier(new RangeNotifier() { + @Override + public void didRangeBeaconsInRegion(Collection beacons, Region region) { + try { + if (beacons.size() > 0) { + // Log.d("DEBUG", "beaconEncounterSecond = " + beaconEncounterSeconds); + String deviceIdList = ""; + for (Beacon beacon : beacons) { + Log.d("GIMBAL", "Entered region flag : " + enteredRegion + " beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away."); + + if ((beacon.getDistance() <= DEVICE_CIRCLE_DISTANCE_LIMIT) && !enteredRegion) { + Log.d("GIMBAL", "*********Entered region since the beacon is within 1 meter range : " + beacon.getDistance()); + enteredRegion = true; + /*GimbalPromotionsDataProcessor gpDataProcessor = new GimbalPromotionsDataProcessor(this, + null, null, + null, null, + null); + if (!deviceIdList.isEmpty()) { + deviceIdList += ","; + } + String deviceId = beacon.getId1() + + GimbalStoreConstants.DELIMITER_HYPHEN + + beacon.getId2() + + GimbalStoreConstants.DELIMITER_HYPHEN + + beacon.getId3(); + deviceIdList += deviceId; + Log.d("DEBUG", "Server URL = " + ServerURLUtil.getStoreServletServerURL(getResources())); + Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); + + + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.marketing.toString()); + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.beaconId.toString(), + deviceIdList); + + String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), + GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); + Log.d("DEBUG", paramsMap.toString()); + HttpConnectionAsyncTask handler = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, + Arrays.asList(new String[]{ServerURLUtil.getStoreServletServerURL(getResources())}), + Arrays.asList(paramsMap), cookieString, + gpDataProcessor); + handler.execute(new String[]{});*/ + } + + if (enteredRegion && (beacon.getDistance() > DEVICE_CIRCLE_DISTANCE_LIMIT)) { + Log.d("GIMBAL", "*********Exited region because the distance is greater than 1 : " + + beacon.getDistance()); + enteredRegion = false; + } + } + } - String deviceId = beacon.getId1() - + GimbalStoreConstants.DELIMITER_HYPHEN - + beacon.getId2() - + GimbalStoreConstants.DELIMITER_HYPHEN - + beacon.getId3(); - deviceIdList += deviceId; + //beaconEncounterSeconds++; + } catch (Exception e) { + Log.e("ERROR", e.getMessage(), e); } - } - } - }); - try { + } + }); String uuid = getResources().getString(R.string.GIMBAL_DEVICE_UUID); beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", Identifier.parse(uuid), null, null)); } catch (RemoteException e) { - Log.e("GIMBAL", e.getMessage(), e); + Log.e("ERROR", e.getMessage(), e); } } else { - Log.d("GIMBAL", "StoreGimbalDeviceService Beacon manager null"); + Log.d("GIMBAL", "Beacon manager null"); } // onResume //if (beaconManager.isBound(this)) beaconManager.setBackgroundMode(false); diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java index 5895d98..c5bdca3 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java @@ -5,7 +5,7 @@ import com.avnet.gears.codes.gimbal.store.bean.NotificationDataBean; import com.avnet.gears.codes.gimbal.store.bean.ProductBean; import com.avnet.gears.codes.gimbal.store.bean.PromotedProductBean; -import com.avnet.gears.codes.gimbal.store.bean.ReviewResult; +import com.avnet.gears.codes.gimbal.store.bean.ReviewBean; import com.avnet.gears.codes.gimbal.store.bean.SubCategoryBean; import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; @@ -84,10 +84,12 @@ public static List getNotificationTitles(List noti return notificationTitles; } - public static List getReviewTextAsStrings(List reviewsList) { + public static List getReviewTextAsStrings(List reviewsList) { List reviewTexts = new ArrayList(); - for (ReviewResult review : reviewsList) { - reviewTexts.add(review.getReviewText()); + for (ReviewBean review : reviewsList) { + reviewTexts.add(review.getFriend() + + GimbalStoreConstants.DELIMITER_COLAN + + review.getReview()); } return reviewTexts; } diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml index e997042..4afafa8 100644 --- a/app/src/main/res/values/integers.xml +++ b/app/src/main/res/values/integers.xml @@ -1,4 +1,4 @@ - 10 + 1 \ No newline at end of file