diff --git a/.idea/misc.xml b/.idea/misc.xml index 2497215..59436c9 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,7 +3,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 92b07af..fd441bb 100644 --- a/app/app.iml +++ b/app/app.iml @@ -83,13 +83,17 @@ - + + + + + diff --git a/app/build.gradle b/app/build.gradle index 6ccc19f..56b7c9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 19 - buildToolsVersion '19.1.0' + compileSdkVersion 21 + buildToolsVersion "21.1.2" defaultConfig { applicationId "com.avnet.gears.codes.gimbal.store" - minSdkVersion 19 - targetSdkVersion 19 + minSdkVersion 21 + targetSdkVersion 21 versionCode 1 versionName "1.0" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e1b24f3..65bf74c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.avnet.gears.codes.gimbal.store"> @@ -10,6 +10,12 @@ + + + + + + + android:theme="@style/AppTheme"> + android:label="@string/app_name"> @@ -43,7 +49,7 @@ android:label="@string/title_activity_feed_list" /> + android:label="@string/title_activity_products_list"> @@ -51,16 +57,25 @@ + android:parentActivityName=".activity.ProductsListActivity"> + + + + android:exported="true"> @@ -69,32 +84,40 @@ android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator" /> - - - + + android:permission="com.google.android.c2dm.permission.SEND"> - + - - - + + + + + + + + + + diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java index fe57f21..dd3aa80 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java @@ -32,8 +32,8 @@ public class FeedListActivity extends Activity implements ActionBar.TabListener ViewPager mViewPager; private GimbalStoreConstants.FEED_ITEM_TYPE[] feedItemTypes = new GimbalStoreConstants.FEED_ITEM_TYPE[]{ - GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_RECOMMENDATION, - GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_REVIEW, + GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_RECOMMENDED, + GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_REVIEWED, GimbalStoreConstants.FEED_ITEM_TYPE.SUGGESTED_PRODUCTS }; @@ -57,7 +57,7 @@ protected void onCreate(Bundle savedInstanceState) { GimbalStoreConstants.DEFAULT_SPINNER_INFO_TEXT); Map feedItemParams = ServerURLUtil.getBasicConfigParamsMap(getResources()); feedItemParams.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), - GimbalStoreConstants.StoreParameterValues.feedItem.toString()); + GimbalStoreConstants.StoreParameterValues.fetchFeeds.toString()); feedItemParams.put(GimbalStoreConstants.StoreParameterKeys.identifier.toString(), GimbalStoreConstants.StoreParameterValues.top.toString()); feedItemParams.put(GimbalStoreConstants.StoreParameterKeys.uniqueId.toString(), @@ -112,7 +112,7 @@ public void onPageSelected(int position) { paramsMap.put(GimbalStoreConstants.StoreParameterKeys.identifier.toString(), GimbalStoreConstants.StoreParameterValues.top.toString()); paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), - GimbalStoreConstants.StoreParameterValues.feedItem.toString()); + GimbalStoreConstants.StoreParameterValues.fetchFeeds.toString()); FeedItemListDataProcessor feedItemListDataProcessor = new FeedItemListDataProcessor(this, mViewPager, feedItemTypes, progressDialog); 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 6899a8f..974b585 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 @@ -39,19 +39,9 @@ import com.avnet.gears.codes.gimbal.store.utils.ServerURLUtil; import com.avnet.gears.codes.gimbal.store.utils.TypeConversionUtil; -import com.gimbal.android.Beacon; -import com.gimbal.android.BeaconEventListener; -import com.gimbal.android.BeaconManager; -import com.gimbal.android.BeaconSighting; -import com.gimbal.android.Gimbal; -import com.gimbal.android.PlaceEventListener; -import com.gimbal.android.PlaceManager; -import com.gimbal.android.Visit; - import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.Map; @@ -75,10 +65,6 @@ public class HomeActivity extends Activity private ProgressDialog progressDialog; private AccountManager accountManager; - //Gimbal - private PlaceEventListener placeEventListener; - private BeaconEventListener beaconSightingListener; - private BeaconManager beaconManager; private static final int SETTINGS_RESULT = 1; @@ -88,6 +74,9 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_home); gimbalInitialize(); + /*IntentFilter filter1 = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED); + IntentFilter filter2 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED); + IntentFilter filter3 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED); */ mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.navigation_drawer); @@ -125,7 +114,7 @@ protected void onCreate(Bundle savedInstanceState) { asyncTask.execute(); return; } - Log.d("DEBUG", "cookieString = " + cookieString); + Log.d("DEBUG", "Home Activity , cookieString = " + cookieString); } processCategoryListData(); } @@ -133,60 +122,13 @@ protected void onCreate(Bundle savedInstanceState) { private void gimbalInitialize() { Toast t = Toast.makeText(getApplicationContext(), "Gimbal initialise", Toast.LENGTH_SHORT); t.show(); - Gimbal.setApiKey(this.getApplication(), "70e4f8df-8332-46fd-99de-efa092ee57f9"); + final TextView placeView = (TextView)findViewById(R.id.placeView); final TextView sightingView = (TextView)findViewById(R.id.sightingView); final TextView sightingRssiView = (TextView) findViewById(R.id.sightingRssiView); final TextView beaconDetailsView = (TextView) findViewById(R.id.beaconDetailsView); - placeEventListener = new PlaceEventListener() { - @Override - public void onVisitStart(Visit visit) { - - placeView.setText("Place : Enter: " + visit.getPlace().getName() + ", at: " + new Date(visit.getArrivalTimeInMillis())); - // This will be invoked when a place is entered. Example below shows a simple log upon enter - Log.i("Info:", "Enter: " + visit.getPlace().getName() + ", at: " + new Date(visit.getArrivalTimeInMillis())); - - boolean setting = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("example_checkbox", true); - Toast t = Toast.makeText(getApplicationContext(), "Onvisitstart : " + String.valueOf(setting), Toast.LENGTH_SHORT); - t.show(); - } - - @Override - public void onVisitEnd(Visit visit) { - - placeView.setText("Place : Exit: " + visit.getPlace().getName() + ", at: " + new Date(visit.getDepartureTimeInMillis())); - // This will be invoked when a place is exited. Example below shows a simple log upon exit - Log.i("Info:", "Exit: " + visit.getPlace().getName() + ", at: " + new Date(visit.getDepartureTimeInMillis())); - - boolean setting = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("example_checkbox", true); - Toast t = Toast.makeText(getApplicationContext(), "Onvisitend : " + String.valueOf(setting), Toast.LENGTH_SHORT); - t.show(); - } - }; - - PlaceManager.getInstance().addListener(placeEventListener); - - beaconSightingListener = new BeaconEventListener() { - @Override - public void onBeaconSighting(BeaconSighting sighting) { - - sightingView.setText("BeaconSighting"); - sightingRssiView.setText("RSSI : " + sighting.getRSSI() + "\nTime in Millis : " + new Date(sighting.getTimeInMillis())); - - Beacon beacon = sighting.getBeacon(); - beaconDetailsView.setText("Beacon Name : " + beacon.getName() + - "\nIdentifier : " + beacon.getIdentifier() + - "\nBattery Level : " + beacon.getBatteryLevel() + - "\nBeacon Temperature : " + beacon.getTemperature()); - Log.i("INFO", sighting.toString()); - } - }; - beaconManager = new BeaconManager(); - beaconManager.addListener(beaconSightingListener); - PlaceManager.getInstance().startMonitoring(); - beaconManager.startListening(); } @Override diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/NotificationsListActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/NotificationsListActivity.java index 2395598..d64f630 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/NotificationsListActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/NotificationsListActivity.java @@ -23,6 +23,7 @@ public class NotificationsListActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notifications_list); + AndroidUtil.instantiateGimbal(this); ListView notificationListView = (ListView) findViewById(R.id.user_notification_list_view); ListView promotionsListView = (ListView) findViewById(R.id.promotions_list_view); ProgressDialog progressDialog = AndroidUtil.showProgressDialog(this, @@ -39,9 +40,7 @@ protected void onCreate(Bundle savedInstanceState) { paramsMap.put(GimbalStoreConstants.StoreParameterKeys.identifier.toString(), GimbalStoreConstants.StoreParameterValues.top.toString()); paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), - GimbalStoreConstants.StoreParameterValues.notificationItem.toString()); - //TODO finalize - + GimbalStoreConstants.StoreParameterValues.fetchNotifications.toString()); HttpConnectionAsyncTask asyncTask = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, Arrays.asList(urlString), Arrays.asList(paramsMap), diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/ProductDetailsActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/ProductDetailsActivity.java index cc70bde..f3dd0f6 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/ProductDetailsActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/ProductDetailsActivity.java @@ -55,7 +55,7 @@ protected void onCreate(Bundle savedInstanceState) { RatingBar ratingBar = (RatingBar) findViewById(R.id.product_rating_bar); - Button buyButton = (Button) findViewById(R.id.buy_now_button); + Button askReviewButton = (Button) findViewById(R.id.buy_now_button); Button askButton = (Button) findViewById(R.id.ask_friend_button); Button recommendButton = (Button) findViewById(R.id.recommend_button); @@ -67,6 +67,26 @@ protected void onCreate(Bundle savedInstanceState) { intent.putExtras(data); final String ratingValue = "" + ratingBar.getRating(); final Activity mActivity = this; + askReviewButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + progressDialog.show(); + Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); + + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.fetchContacts.toString()); + Log.d("DEBUG", "paramsMap=" + paramsMap); + String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); + FriendsListDataProcessor friendsListDataProcessor = new FriendsListDataProcessor(mActivity, progressDialog, + GimbalStoreConstants.NOTIFICATION_TYPE.ASKED_TO_REVIEW, + mActivity.getFragmentManager()); + HttpConnectionAsyncTask asyncTask = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, + Arrays.asList(ServerURLUtil.getStoreServletServerURL(getResources())), + Arrays.asList(paramsMap), cookieString, + friendsListDataProcessor); + asyncTask.execute(new String[]{}); + } + }); recommendButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -78,7 +98,7 @@ public void onClick(View v) { Log.d("DEBUG", "paramsMap=" + paramsMap); String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); FriendsListDataProcessor friendsListDataProcessor = new FriendsListDataProcessor(mActivity, progressDialog, - GimbalStoreConstants.NOTIFICATION_TYPE.FRIEND_RECOMMENDATION, + GimbalStoreConstants.NOTIFICATION_TYPE.RECOMMENDED, mActivity.getFragmentManager()); HttpConnectionAsyncTask asyncTask = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, Arrays.asList(ServerURLUtil.getStoreServletServerURL(getResources())), @@ -98,7 +118,7 @@ public void onClick(View v) { Log.d("DEBUG", "paramsMap=" + paramsMap); String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); FriendsListDataProcessor friendsListDataProcessor = new FriendsListDataProcessor(mActivity, progressDialog, - GimbalStoreConstants.NOTIFICATION_TYPE.ASK_FRIEND, + GimbalStoreConstants.NOTIFICATION_TYPE.ASKED_TO_REC_PROD, mActivity.getFragmentManager()); HttpConnectionAsyncTask asyncTask = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, Arrays.asList(ServerURLUtil.getStoreServletServerURL(getResources())), @@ -121,7 +141,7 @@ public void onClick(View v) { paramsMap.put(GimbalStoreConstants.StoreParameterKeys.reviewText.toString(), reviewText); paramsMap.put(GimbalStoreConstants.StoreParameterKeys.rating.toString(), - ratingValue); + "3"); Log.d("DEBUG", "paramsMap=" + paramsMap); String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); @@ -174,13 +194,56 @@ public void onClick(View v) { @Override public void onFinishedSelectDialog(List friendIdList, GimbalStoreConstants.NOTIFICATION_TYPE postProcessingType) { Log.d("DEBUG", "SelectedFriends = " + friendIdList); - String selectedProductId = getIntent().getStringExtra(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_PRODUCT_ID.toString()); - if (postProcessingType == GimbalStoreConstants.NOTIFICATION_TYPE.ASK_FRIEND) { + String friends = ""; + for (String friendId : friendIdList) { + if (!friends.isEmpty()) { + friends += GimbalStoreConstants.DELIMITER_COMMA; + } + friends += friendId; + } + Bundle intentBundle = getIntent().getExtras(); + String productId = null; + if (intentBundle != null) { + productId = intentBundle.getString(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_PRODUCT_ID.toString(), ""); + } + ProgressDialog progressDialog = AndroidUtil.showProgressDialog(this, + GimbalStoreConstants.DEFAULT_SPINNER_TITLE, + GimbalStoreConstants.DEFAULT_SPINNER_INFO_TEXT); + Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); + - // post this list to ask friend flow - } else if (postProcessingType == GimbalStoreConstants.NOTIFICATION_TYPE.FRIEND_RECOMMENDATION) { - // post this list to recommend product flow + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.friends.toString(), + friends); + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.productId.toString(), + productId); + + switch (postProcessingType) { + case ASKED_TO_REC_PROD: + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.askRecommendation.toString()); + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.rectype.toString(), + GimbalStoreConstants.StoreParameterValues.product.toString()); + break; + case ASKED_TO_REVIEW: + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.askToReview.toString()); + break; + case RECOMMENDED: + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.type.toString(), + GimbalStoreConstants.StoreParameterValues.postRecommendation.toString()); + break; + default: + Log.d("DEBUG", "not handling type.." + postProcessingType); } + Log.d("DEBUG", "paramsMap=" + paramsMap); + String cookieString = AndroidUtil.getPreferenceString(getApplicationContext(), GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY); + PostReviewsProcessor postReviewsProcessor = new PostReviewsProcessor(this, progressDialog, + productId, getIntent()); + HttpConnectionAsyncTask asyncTask = new HttpConnectionAsyncTask(GimbalStoreConstants.HTTP_METHODS.GET, + Arrays.asList(ServerURLUtil.getStoreServletServerURL(getResources())), + Arrays.asList(paramsMap), cookieString, + postReviewsProcessor); + asyncTask.execute(new String[]{}); } @Override @@ -218,6 +281,7 @@ protected void onRestart() { finish(); } + @Override public void onBackPressed() { super.onBackPressed(); diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/AuthDataProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/AuthDataProcessor.java index 6a54441..03cdfe0 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/AuthDataProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/AuthDataProcessor.java @@ -12,6 +12,7 @@ import com.avnet.gears.codes.gimbal.store.bean.AuthDataBean; import com.avnet.gears.codes.gimbal.store.bean.ResponseItemBean; import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; +import com.avnet.gears.codes.gimbal.store.utils.AndroidUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.stream.JsonReader; @@ -49,6 +50,9 @@ public boolean doProcess(List responseItemBeansList) { JsonReader reader = new JsonReader(new StringReader(responseString)); reader.setLenient(true); + AndroidUtil.savePreferenceValue(parentActivity.getApplicationContext(), + GimbalStoreConstants.PREF_SESSION_COOKIE_PARAM_KEY, + httpResponseBean.getCookieValue()); AuthDataBean responseBean = gson.fromJson(responseString, AuthDataBean.class); Log.d("HTTP DEBUG", " Response Bean = " + responseBean); Bundle data = dataIntent.getExtras(); @@ -92,7 +96,7 @@ public boolean doProcess(List responseItemBeansList) { parentActivity.setAccountAuthenticatorResult(dataIntent.getExtras()); parentActivity.setResult(Activity.RESULT_OK, dataIntent); - + parentActivity.finish(); } return true; } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/FeedItemListDataProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/FeedItemListDataProcessor.java index 8e28f59..d9f4c86 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/FeedItemListDataProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/FeedItemListDataProcessor.java @@ -62,8 +62,8 @@ public boolean doProcess(List responseItemBeansList) { FeedItemBean[] feedItemsArray = responseBean.getCatalogEntryView(); final List feedItemBeans = Arrays.asList(responseBean.getCatalogEntryView()); final Map> feedListMap = new HashMap>(); - feedListMap.put(GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_REVIEW, new ArrayList()); - feedListMap.put(GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_RECOMMENDATION, new ArrayList()); + feedListMap.put(GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_REVIEWED, new ArrayList()); + feedListMap.put(GimbalStoreConstants.FEED_ITEM_TYPE.FRIEND_RECOMMENDED, new ArrayList()); feedListMap.put(GimbalStoreConstants.FEED_ITEM_TYPE.SUGGESTED_PRODUCTS, new ArrayList()); if (feedItemsArray != null && feedItemsArray.length > 0) { for (FeedItemBean feedItem : feedItemBeans) { diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/NotificationListDataProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/NotificationListDataProcessor.java index ff14bc0..aec1221 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/NotificationListDataProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/NotificationListDataProcessor.java @@ -66,11 +66,11 @@ public boolean doProcess(List responseItemBeansList) { final List promotionNotifications = new ArrayList(); if (notificationItemsArray != null && notificationItemsArray.length > 0) { for (NotificationDataBean notificationItem : notificationItemBeans) { - if (notificationItem.getNotificationType() != null) { - GimbalStoreConstants.NOTIFICATION_TYPE notificationType = GimbalStoreConstants.NOTIFICATION_TYPE.valueOf(notificationItem.getNotificationType()); + if (notificationItem.getType() != null) { + GimbalStoreConstants.NOTIFICATION_TYPE notificationType = GimbalStoreConstants.NOTIFICATION_TYPE.valueOf(notificationItem.getType()); switch (notificationType) { - case FRIEND_RECOMMENDATION: - case FRIEND_REVIEW: + case RECOMMENDED: + case REVIEWED: friendNotificationList.add(notificationItem); break; case PRODUCT_PROMOTION: 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 a3f264b..273e1a8 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 @@ -51,10 +51,15 @@ public boolean doProcess(List responseItemBeansList) { Log.d("DEBUG", "responseString = " + responseString); PostReviewResponseBean responseBean = gson.fromJson(reader, PostReviewResponseBean.class); Log.d("HTTP DEBUG", " Response Bean = " + responseBean); - if (responseBean.getReviewResponse().getErrors().length == 0) { + if (responseBean.getReviewResponse() != null && + responseBean.getReviewResponse().getErrors() != null && + responseBean.getReviewResponse().getErrors().length > 0) { Log.d("DEBUG", "Error submitting Review"); return false; } + if (intent != null) { + Log.d("DEBUG", "In review post processor prodId = " + intent.getStringExtra(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_PRODUCT_ID.toString())); + } Log.d("DEBUG", "Review submitted successfully!!"); } progressDialog.dismiss(); 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 c0437d6..dcd60df 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 @@ -103,7 +103,7 @@ public void run() { if (reviews.getTotalResults() != null) { reviewTitleView.setText("This product got " + reviews.getTotalResults() + " user reviews"); } else { - reviewTitleView.setText("No reviews for this product yet! Be first to review!"); + reviewTitleView.setText("No reviews for this product yet! Be the first to review!"); } } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/RecommendationDataProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/RecommendationDataProcessor.java index 883d5dc..aff9968 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/RecommendationDataProcessor.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/RecommendationDataProcessor.java @@ -63,15 +63,15 @@ public boolean doProcess(List responseItemBeansList) { Intent targetIntent; Bundle bundle = new Bundle(); switch (recommendationType) { - case TYPE_CATEGORY: + case ASK_REC_PROD: case TYPE_REVIEW_CATEGORY: targetIntent = new Intent(context, ProductsListActivity.class); bundle.putString(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_SUB_CATEGORY_ID.toString(), identifierString); targetIntent.putExtras(bundle); break; - case TYPE_PRODUCT: - case TYPE_REVIEW_PRODUCT: + case ASK_REC_CAT: + case ASK_REVIEW: targetIntent = new Intent(context, ProductDetailsActivity.class); bundle.putString(GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY.SELECTED_PRODUCT_ID.toString(), identifierString); diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/authenticator/activity/StoreAuthenticatorActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/authenticator/activity/StoreAuthenticatorActivity.java index cb9bfd7..148a1e5 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/authenticator/activity/StoreAuthenticatorActivity.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/authenticator/activity/StoreAuthenticatorActivity.java @@ -39,6 +39,7 @@ protected void onCreate(Bundle savedInstanceState) { Intent authenticationIntent = new Intent(); final AuthDataProcessor authDataProcessor = new AuthDataProcessor(this, authenticationIntent, accountManager); + signIn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationDataBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationDataBean.java index 2f10d4f..fb87a8e 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationDataBean.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationDataBean.java @@ -4,51 +4,51 @@ * Created by 914889 on 3/15/15. */ public class NotificationDataBean extends BaseServerDataBean { - private String notificationId; - private String notificationText; - private String notificationType; - private String notificationStatus; + private String Id; + private String Text; + private String Status; + private String Type; - public String getNotificationId() { - return notificationId; + public String getId() { + return Id; } - public void setNotificationId(String notificationId) { - this.notificationId = notificationId; + public void setId(String id) { + Id = id; } - public String getNotificationText() { - return notificationText; + public String getText() { + return Text; } - public void setNotificationText(String notificationText) { - this.notificationText = notificationText; + public void setText(String text) { + Text = text; } - public String getNotificationType() { - return notificationType; + public String getStatus() { + return Status; } - public void setNotificationType(String notificationType) { - this.notificationType = notificationType; + public void setStatus(String status) { + Status = status; } - public String getNotificationStatus() { - return notificationStatus; + public String getType() { + return Type; } - public void setNotificationStatus(String notificationStatus) { - this.notificationStatus = notificationStatus; + public void setType(String type) { + Type = type; } @Override public String toString() { return super.toString() + "NotificationDataBean{" + - "notificationId='" + notificationId + '\'' + - ", notificationText='" + notificationText + '\'' + - ", notificationType='" + notificationType + '\'' + - ", notificationStatus='" + notificationStatus + '\'' + + "Id='" + Id + '\'' + + ", Text='" + Text + '\'' + + ", Status='" + Status + '\'' + + ", Type='" + Type + '\'' + '}'; } } 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 98716fa..1ca45f5 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 @@ -55,23 +55,26 @@ public class GimbalStoreConstants { public static enum RECOMMENDATION_TYPE { - TYPE_CATEGORY, - TYPE_PRODUCT, + ASK_REC_PROD, + ASK_REC_CAT, TYPE_REVIEW_CATEGORY, - TYPE_REVIEW_PRODUCT + ASK_REVIEW, + RECOMMENDED_BY, + NOTIFY_REVIEW } public static enum NOTIFICATION_TYPE { - ASK_FRIEND, - ASK_FRIEND_REVIEW, - FRIEND_REVIEW, - FRIEND_RECOMMENDATION, + ASKED_TO_REC_PROD, + ASKED_TO_REC_CAT, + ASKED_TO_REVIEW, + REVIEWED, + RECOMMENDED, PRODUCT_PROMOTION } public static enum FEED_ITEM_TYPE { - FRIEND_RECOMMENDATION("Recommended By Friends"), - FRIEND_REVIEW("Reviewed By Friends"), + FRIEND_RECOMMENDED("Recommended By Friends"), + FRIEND_REVIEWED("Reviewed By Friends"), SUGGESTED_PRODUCTS("Products You may like"); private String itemTypeLabel; @@ -117,6 +120,7 @@ public static enum StoreParameterKeys { productId, reviewText, rating, + rectype, uniqueId } @@ -125,14 +129,17 @@ public static enum StoreParameterValues { top, category, product, - feedItem, - notificationItem, + fetchFeeds, + fetchNotifications, signup, authentication, signin, postReview, createNetwork, - fetchContacts + fetchContacts, + askRecommendation, + askToReview, + postRecommendation } public static enum HTTP_METHODS { diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java index 4d6c578..5b0037d 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java @@ -108,20 +108,22 @@ public void onItemClick(AdapterView parent, View view, int position, long id) } public void refreshDrawerListView() { - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - mDrawerListView.setAdapter(new ArrayAdapter( - getActionBar().getThemedContext(), - android.R.layout.simple_list_item_activated_1, - android.R.id.text1, - mCategoryTitles - )); - - mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); - mDrawerListView.refreshDrawableState(); - } - }); + if (getActivity() != null) { + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + mDrawerListView.setAdapter(new ArrayAdapter( + getActionBar().getThemedContext(), + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + mCategoryTitles + )); + + mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); + mDrawerListView.refreshDrawableState(); + } + }); + } } public boolean isDrawerOpen() { diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StoreBeaconEventListener.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StoreBeaconEventListener.java new file mode 100644 index 0000000..1c56486 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StoreBeaconEventListener.java @@ -0,0 +1,29 @@ +package com.avnet.gears.codes.gimbal.store.listener; + +import android.util.Log; + +import com.gimbal.android.Beacon; +import com.gimbal.android.BeaconEventListener; +import com.gimbal.android.BeaconSighting; + +import java.util.Date; + +/** + * Created by 914889 on 3/18/15. + */ +public class StoreBeaconEventListener extends BeaconEventListener { + @Override + public void onBeaconSighting(BeaconSighting sighting) { + + Log.i("Info:", "BeaconSighting"); + + Log.i("Info:", "RSSI : " + sighting.getRSSI() + "\nTime in Millis : " + new Date(sighting.getTimeInMillis())); + + Beacon beacon = sighting.getBeacon(); + Log.i("Info:", "Beacon Name : " + beacon.getName() + + "\nIdentifier : " + beacon.getIdentifier() + + "\nBattery Level : " + beacon.getBatteryLevel() + + "\nBeacon Temperature : " + beacon.getTemperature()); + Log.i("INFO", sighting.toString()); + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StorePlaceListener.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StorePlaceListener.java new file mode 100644 index 0000000..b08b5e3 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/listener/StorePlaceListener.java @@ -0,0 +1,46 @@ +package com.avnet.gears.codes.gimbal.store.listener; + +import android.app.Activity; +import android.preference.PreferenceManager; +import android.util.Log; +import android.widget.Toast; + +import com.gimbal.android.PlaceEventListener; +import com.gimbal.android.Visit; + +import java.util.Date; + +/** + * Created by 914889 on 3/18/15. + */ +public class StorePlaceListener extends PlaceEventListener { + private Activity activity; + + public StorePlaceListener(Activity activity) { + this.activity = activity; + } + + @Override + public void onVisitStart(Visit visit) { + Log.i("Info:", "Place : Enter: " + visit.getPlace().getName() + ", at: " + new Date(visit.getArrivalTimeInMillis())); + // This will be invoked when a place is entered. Example below shows a simple log upon enter + Log.i("Info:", "Enter: " + visit.getPlace().getName() + ", at: " + new Date(visit.getArrivalTimeInMillis())); + + boolean setting = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("example_checkbox", true); + Toast t = Toast.makeText(activity, "Onvisitstart : " + String.valueOf(setting), Toast.LENGTH_SHORT); + t.show(); + super.onVisitStart(visit); + } + + @Override + public void onVisitEnd(Visit visit) { + Log.i("Info:", "Place : Exit: " + visit.getPlace().getName() + ", at: " + new Date(visit.getDepartureTimeInMillis())); + // This will be invoked when a place is exited. Example below shows a simple log upon exit + Log.i("Info:", "Exit: " + visit.getPlace().getName() + ", at: " + new Date(visit.getDepartureTimeInMillis())); + + boolean setting = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("example_checkbox", true); + Toast t = Toast.makeText(activity, "Onvisitend : " + String.valueOf(setting), Toast.LENGTH_SHORT); + t.show(); + super.onVisitEnd(visit); + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreBootBroadcastReceiver.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreBootBroadcastReceiver.java new file mode 100644 index 0000000..d58a25a --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreBootBroadcastReceiver.java @@ -0,0 +1,25 @@ +package com.avnet.gears.codes.gimbal.store.receiver; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.service.StoreGimbalDeviceService; + +public class StoreBootBroadcastReceiver extends BroadcastReceiver { + public StoreBootBroadcastReceiver() { + Log.d("GIMBAL", "instantiating StoreBootBroadcastReceiver"); + } + + @Override + public void onReceive(Context context, Intent intent) { + + Log.d("SERVICE", "in StoreBootBroadcastReceiver.onRecieve()"); + // start the bluetooth broadcast receiver service + Intent startServiceIntent = new Intent(context, StoreGimbalDeviceService.class); + context.startService(startServiceIntent); + Log.d("GIMBAL", "Started Device state service -- service created"); + + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreGimbalDeviceBroadcastReceiver.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreGimbalDeviceBroadcastReceiver.java new file mode 100644 index 0000000..b3e14ce --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/receiver/StoreGimbalDeviceBroadcastReceiver.java @@ -0,0 +1,52 @@ +package com.avnet.gears.codes.gimbal.store.receiver; + +import android.app.Application; +import android.bluetooth.BluetoothAdapter; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.activity.NotificationsListActivity; +import com.gimbal.android.BeaconEventListener; +import com.gimbal.android.BeaconManager; +import com.gimbal.android.PlaceEventListener; + +public class StoreGimbalDeviceBroadcastReceiver extends BroadcastReceiver { + private Application application; + + //Gimbal + private PlaceEventListener placeEventListener; + private BeaconEventListener beaconSightingListener; + private BeaconManager beaconManager; + + public StoreGimbalDeviceBroadcastReceiver() { + } + + public StoreGimbalDeviceBroadcastReceiver(Application base) { + this.application = base; + Log.d("GIMBAL", "Instantiated StoreGimbalDeviceBroadcastReceiver"); + } + + @Override + public void onReceive(final Context context, Intent intent) { + String action = intent.getAction(); + final int bluetoothState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1); + + if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { + if (bluetoothState == BluetoothAdapter.STATE_TURNING_ON || + bluetoothState == BluetoothAdapter.STATE_ON) { + // start the service + Log.d("GIMBAL", "Bluetooth state changed ON =" + bluetoothState); + Intent mIntent = new Intent(context, NotificationsListActivity.class); + mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(mIntent); + } + } else if (bluetoothState == BluetoothAdapter.STATE_TURNING_OFF || + bluetoothState == BluetoothAdapter.STATE_OFF) { + // Bluetooth is disconnected, do handling here + Log.d("GIMBAL", "Bluetooth state changed OFF =" + bluetoothState); + // stop the service + } + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGcmServiceIntent.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGcmServiceIntent.java index 5ec5a38..281c15b 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGcmServiceIntent.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGcmServiceIntent.java @@ -90,14 +90,16 @@ private void sendNotification(String messageType, Bundle extra) { String msg = extra.getString(GimbalStoreConstants.notificationDataKey.message.toString()); String notificationTypeString = extra.getString(GimbalStoreConstants.notificationDataKey.notificationType.toString()); - GimbalStoreConstants.NOTIFICATION_TYPE notificationType = GimbalStoreConstants.NOTIFICATION_TYPE.valueOf(notificationTypeString); - - + GimbalStoreConstants.NOTIFICATION_TYPE notificationType = GimbalStoreConstants.NOTIFICATION_TYPE.PRODUCT_PROMOTION; + if (notificationTypeString != null) { + notificationType = GimbalStoreConstants.NOTIFICATION_TYPE.valueOf(notificationTypeString); + } Intent targetIntent; Bundle bundle = new Bundle(); switch (notificationType) { - case ASK_FRIEND: - case ASK_FRIEND_REVIEW: + case ASKED_TO_REC_PROD: + case ASKED_TO_REC_CAT: + case ASKED_TO_REVIEW: String recommendationId = extra.getString(GimbalStoreConstants.notificationDataKey.recommendationId.toString()); RecommendationDataProcessor recommendationDataProcessor = new RecommendationDataProcessor(getApplicationContext(), msg); Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); @@ -109,8 +111,8 @@ private void sendNotification(String messageType, Bundle extra) { Arrays.asList(paramsMap), null, recommendationDataProcessor); return;// Notification is sent in the processor class - case FRIEND_RECOMMENDATION: - case FRIEND_REVIEW: + case RECOMMENDED: + case REVIEWED: targetIntent = new Intent(this, FeedListActivity.class); String feedItemId = extra.getString(GimbalStoreConstants.notificationDataKey.feedItemId.toString()); String productId = extra.getString(GimbalStoreConstants.notificationDataKey.productId.toString()); 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 new file mode 100644 index 0000000..bdbcc11 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/service/StoreGimbalDeviceService.java @@ -0,0 +1,50 @@ +package com.avnet.gears.codes.gimbal.store.service; + +import android.app.IntentService; +import android.app.Service; +import android.bluetooth.BluetoothAdapter; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.IBinder; +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.receiver.StoreGimbalDeviceBroadcastReceiver; + +/** + * An {@link IntentService} subclass for handling asynchronous task requests in + * a service on a separate handler thread. + *

+ * helper methods. + */ +public class StoreGimbalDeviceService extends Service { + + private StoreGimbalDeviceBroadcastReceiver deviceBroadcastReceiver; + + public StoreGimbalDeviceService() { + // super(StoreGimbalDeviceIntentService.class.getName()); + Log.d("GIMBAL", "instantiating StoreGimbalDeviceIntentService"); + } + + @Override + public void onCreate() { + deviceBroadcastReceiver = new StoreGimbalDeviceBroadcastReceiver(getApplication()); + registerReceiver(deviceBroadcastReceiver, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); + super.onCreate(); + } + + @Override + public IBinder onBind(Intent intent) { + if (deviceBroadcastReceiver != null) { + Log.d("GIMBAL", "StoreGimbalDeviceIntentService.onBind() deviceBroadcastReceiver != null"); + return deviceBroadcastReceiver.peekService(getApplicationContext(), intent); + } + return null; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + super.onStartCommand(intent, flags, startId); + return START_STICKY; + } + +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/AndroidUtil.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/AndroidUtil.java index 9c720d8..890907c 100644 --- a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/AndroidUtil.java +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/AndroidUtil.java @@ -18,12 +18,20 @@ import android.widget.ListView; import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.activity.FeedListActivity; +import com.avnet.gears.codes.gimbal.store.activity.NotificationsListActivity; +import com.avnet.gears.codes.gimbal.store.activity.UserSettingsActivity; import com.avnet.gears.codes.gimbal.store.async.response.processor.impl.ContactsSyncProcessor; import com.avnet.gears.codes.gimbal.store.bean.ContactBean; import com.avnet.gears.codes.gimbal.store.bean.NotificationActionBean; import com.avnet.gears.codes.gimbal.store.bean.PhoneNumberBean; import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; import com.avnet.gears.codes.gimbal.store.handler.HttpConnectionAsyncTask; +import com.avnet.gears.codes.gimbal.store.listener.StoreBeaconEventListener; +import com.avnet.gears.codes.gimbal.store.listener.StorePlaceListener; +import com.gimbal.android.BeaconManager; +import com.gimbal.android.Gimbal; +import com.gimbal.android.PlaceManager; import java.util.ArrayList; import java.util.List; @@ -212,12 +220,26 @@ public static boolean processSettingsAction(Activity parentActivity, int selecte break; case R.id.action_settings: Log.d("DEBUG", "In action setting --"); + Intent intent = new Intent(parentActivity, UserSettingsActivity.class); + parentActivity.startActivity(intent); returnFlag = true; break; case R.id.action_about: Log.d("DEBUG", "In action setting About"); returnFlag = true; break; + case R.id.action_feed_list: + Log.d("DEBUG", "In action setting About"); + intent = new Intent(parentActivity, FeedListActivity.class); + parentActivity.startActivity(intent); + returnFlag = true; + break; + case R.id.action_notifications: + Log.d("DEBUG", "In action setting About"); + intent = new Intent(parentActivity, NotificationsListActivity.class); + parentActivity.startActivity(intent); + returnFlag = true; + break; case android.R.id.home: Log.d("DEBUG", "Clicked back button"); parentActivity.onBackPressed(); @@ -268,4 +290,19 @@ public static void setDynamicHeight(ListView mListView) { mListView.setLayoutParams(params); mListView.requestLayout(); } + + public static void instantiateGimbal(Activity activity) { + Gimbal.setApiKey(activity.getApplication(), activity.getResources().getString(R.string.GIMBAL_APPLICATION_ID)); + Log.d("GIMBAL", "Registering application.." + activity.getResources().getString(R.string.GIMBAL_APPLICATION_ID)); + StorePlaceListener placeEventListener = new StorePlaceListener(activity); + PlaceManager.getInstance().addListener(placeEventListener); + StoreBeaconEventListener beaconSightingListener = new StoreBeaconEventListener(); + BeaconManager beaconManager = new BeaconManager(); + beaconManager.addListener(beaconSightingListener); + + PlaceManager.getInstance().startMonitoring(); + beaconManager.startListening(); + + Log.d("GIMBAL", "registering receiver"); + } } 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 4e4eea0..e77e986 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 @@ -81,7 +81,7 @@ public static List getFeedDescriptionTitles(List feedItems public static List getNotificationTitles(List notificationDataBeans) { List notificationTitles = new ArrayList(); for (NotificationDataBean notificationDataBean : notificationDataBeans) { - notificationTitles.add(notificationDataBean.getNotificationText()); + notificationTitles.add(notificationDataBean.getText()); } return notificationTitles; } diff --git a/app/src/main/res/layout/activity_product_details.xml b/app/src/main/res/layout/activity_product_details.xml index 4bc3613..73b4bc7 100644 --- a/app/src/main/res/layout/activity_product_details.xml +++ b/app/src/main/res/layout/activity_product_details.xml @@ -41,7 +41,7 @@ style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/buy_now_label" + android:text="@string/ask_friend_review_label" android:id="@+id/buy_now_button" android:layout_below="@+id/product_price" android:layout_toEndOf="@+id/product_display_image" /> diff --git a/app/src/main/res/layout/activity_store_authenticator.xml b/app/src/main/res/layout/activity_store_authenticator.xml index 36ead71..0a3b5ad 100644 --- a/app/src/main/res/layout/activity_store_authenticator.xml +++ b/app/src/main/res/layout/activity_store_authenticator.xml @@ -41,7 +41,7 @@ android:layout_alignTop="@+id/textView1" android:layout_marginStart="38dp" android:layout_toEndOf="@+id/textView1" - android:text="rajagopal" /> + android:text="rajagopal.28" /> + + diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml index 629901a..e9d9014 100644 --- a/app/src/main/res/values-v21/styles.xml +++ b/app/src/main/res/values-v21/styles.xml @@ -1,7 +1,5 @@ - + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ee3da51..657a050 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -15,10 +15,12 @@ Sync My Contacts About Settings + Notifications + Friend Activties Show More Recommend - Add to cart + Ask Friend to Review Ask Post Review @@ -44,7 +46,7 @@ 667623029279 - + f638944c-9455-4112-a84d-036f60d321fb FeedListActivity Hello world! diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index afeaeeb..b359c5e 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -1,9 +1,7 @@ - - -