diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/BillingActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/BillingActivity.java
index 309531a..71ed7d5 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/BillingActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/BillingActivity.java
@@ -52,7 +52,7 @@ public class BillingActivity extends AppCompatActivity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_billing);
- setTitle("Billing");
+ setTitle(getString(R.string.billing));
// Get current merchant instance
merchant = Merchant.getInstance();
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/ConfirmationActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/ConfirmationActivity.java
index 2613086..10cf440 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/ConfirmationActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/ConfirmationActivity.java
@@ -38,7 +38,7 @@ public class ConfirmationActivity extends AppCompatActivity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_confirmation);
- setTitle("Products");
+ setTitle(getString(R.string.products));
// Get current merchant
merchant = Merchant.getInstance();
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/DebugActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/DebugActivity.java
index 37271ce..cc40557 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/DebugActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/DebugActivity.java
@@ -21,7 +21,7 @@ public class DebugActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Debug tools");
+ setTitle(getString(R.string.debug_tools));
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.activity_debug, null, false);
mContainer.addView(contentView, 0);
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/InventoryActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/InventoryActivity.java
index 4f0508c..32b0848 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/InventoryActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/InventoryActivity.java
@@ -56,7 +56,7 @@ public class InventoryActivity extends MainActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Product catalog");
+ setTitle(getString(R.string.product_catalog));
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mContentView = inflater.inflate(R.layout.activity_inventory, null, false);
mContainer.addView(mContentView, 0);
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/LocationPickerActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/LocationPickerActivity.java
index 944afc6..6f22402 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/LocationPickerActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/LocationPickerActivity.java
@@ -45,7 +45,7 @@ public class LocationPickerActivity extends AppCompatActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Pick location");
+ setTitle(getString(R.string.pick_location));
setContentView(R.layout.activity_location_picker);
// Set default location to previous location if available
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrderDisplayActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrderDisplayActivity.java
index cbacb5e..9476150 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrderDisplayActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrderDisplayActivity.java
@@ -59,7 +59,7 @@ public class NewOrderDisplayActivity extends AppCompatActivity implements NewOrd
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_order_display);
- setTitle("Order");
+ setTitle(getString(R.string.order));
mTotalPrice = findViewById(R.id.text_view_total_price);
TextView mTextViewCustomerName = findViewById(R.id.text_view_customer_name);
mOrder = (Order) getIntent().getSerializableExtra("order");
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrdersActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrdersActivity.java
index b893862..007be8b 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrdersActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/NewOrdersActivity.java
@@ -31,7 +31,7 @@ public class NewOrdersActivity extends MainActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("New Orders");
+ setTitle(getString(R.string.new_order));
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mContentView = inflater.inflate(R.layout.activity_new_orders, null, false);
mContainer.addView(mContentView, 0);
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/OfferDetailsActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/OfferDetailsActivity.java
index 394adad..78009f5 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/OfferDetailsActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/OfferDetailsActivity.java
@@ -46,7 +46,7 @@ public class OfferDetailsActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offer_details);
- setTitle("Offer");
+ setTitle(getString(R.string.offer));
mDiscountType = findViewById(R.id.radio_group_set_discount_type);
mDiscountType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrderDisplayActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrderDisplayActivity.java
index b4a168b..7702344 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrderDisplayActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrderDisplayActivity.java
@@ -46,7 +46,7 @@ public class OngoingOrderDisplayActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Order");
+ setTitle(getString(R.string.order));
setContentView(R.layout.activity_ongoing_order_display);
order = (Order) getIntent().getSerializableExtra("order");
initViews();
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrdersActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrdersActivity.java
index 9ee1423..6495fe7 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrdersActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/OngoingOrdersActivity.java
@@ -31,7 +31,7 @@ public class OngoingOrdersActivity extends MainActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Ongoing orders");
+ setTitle(getString(R.string.ongoing_orders));
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mContentView = inflater.inflate(R.layout.activity_new_orders, null, false);
mContainer.addView(mContentView, 0);
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/ProductOfferActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/ProductOfferActivity.java
index c117a74..1fbd020 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/ProductOfferActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/ProductOfferActivity.java
@@ -7,12 +7,10 @@
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
-import android.widget.LinearLayout;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.google.android.material.button.MaterialButtonToggleGroup;
import com.google.android.material.textfield.TextInputEditText;
@@ -49,7 +47,7 @@ public class ProductOfferActivity extends MainActivity implements OfferActionLis
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Offers");
+ setTitle(getString(R.string.offers));
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mContentView = inflater.inflate(R.layout.activity_product_offer, null, false);
mContainer.addView(mContentView, 0);
@@ -166,10 +164,12 @@ public void onDeleteOfferSelect(int type, int itemIdx, int offerIdx) {
if (type == OfferActionListener.PRODUCT_OFFER) {
Product product = mProductOfferAdapter.getProducts().get(itemIdx);
product.getOffers().remove(offerIdx);
+ mProductOfferAdapter.notifyItemChanged(itemIdx);
FirebaseUtils.updateProductOffers(product);
} else {
Brand brand = mBrandOfferAdapter.getBrands().get(itemIdx);
brand.getOffers().remove(offerIdx);
+ mBrandOfferAdapter.notifyItemChanged(itemIdx);
FirebaseUtils.updateBrandOffers(brand);
}
}
@@ -203,6 +203,9 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
UIUtils.showToast(this, "Offer updated");
}
+ // Refresh views
+ mProductOfferAdapter.notifyDataSetChanged();
+ mBrandOfferAdapter.notifyDataSetChanged();
}
}
}
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/SettingsActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/SettingsActivity.java
index b0ed095..c64d2f4 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/SettingsActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/SettingsActivity.java
@@ -38,6 +38,7 @@ public class SettingsActivity extends AppCompatActivity {
private TextInputEditText mEditTextDomainName;
private TextInputLayout mTextLayoutDomainName;
+ private Button mSetLocation;
private boolean isDomainNameOptionOverridden = false;
private boolean isDomainNameChangeConfirmed = false;
@@ -46,7 +47,7 @@ public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Settings");
+ setTitle(getString(R.string.settings));
setContentView(R.layout.activity_settings);
Merchant merchant = Merchant.getInstance();
final TextInputEditText storeName = findViewById(R.id.edit_text_store_name);
@@ -65,8 +66,11 @@ protected void onCreate(Bundle savedInstanceState) {
mLocation = merchant.getLatLng();
}
- Button setLocation = findViewById(R.id.button_set_location);
- setLocation.setOnClickListener(new View.OnClickListener() {
+ mSetLocation = findViewById(R.id.button_set_location);
+ if (mLocation != null) {
+ mSetLocation.setText(R.string.change_location);
+ }
+ mSetLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SettingsActivity.this, LocationPickerActivity.class);
@@ -190,7 +194,7 @@ public void onCheckComplete(boolean isAvailable) {
if (mEditTextDomainName.getText().toString().trim().equals(queryDomainName)) {
searchProgressBar.setVisibility(View.INVISIBLE);
mTextLayoutDomainName.setEndIconMode(TextInputLayout.END_ICON_CUSTOM);
- if (isAvailable || mSavedDomainName.equals(queryDomainName)) {
+ if (isAvailable || queryDomainName.equals(mSavedDomainName)) {
mTextLayoutDomainName.setEndIconDrawable(getDrawable(R.drawable.ic_action_ok_circle));
mDomainName = s.toString();
} else {
@@ -211,6 +215,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
double latitutde = data.getDoubleExtra(CommonUtils.LATITUDE, 0.0);
double longitude = data.getDoubleExtra(CommonUtils.LONGITUDE, 0.0);
mLocation = new LatLng(latitutde, longitude);
+ mSetLocation.setText(R.string.change_location);
} else {
UIUtils.showToast(this, getString(R.string.no_location_set));
}
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/model/Product.java b/merchant-app/app/src/main/java/com/googleinterns/smb/model/Product.java
index 59cc0cd..48dce46 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/model/Product.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/model/Product.java
@@ -92,6 +92,23 @@ public Double getDiscountedPrice() {
if (discountedPrice == null) {
discountedPrice = MRP;
}
+ double bestOffer = 0.0;
+ boolean isOfferAvailable = false;
+ for (Offer offer : getOffers()) {
+ double currentOfferPrice = 0.0;
+ if (Offer.EXPIRED.equals(offer.getStatus())) continue;
+ isOfferAvailable = true;
+ if (offer.getOfferType() == Offer.OfferType.PERCENTAGE_OFFER) {
+ currentOfferPrice = MRP * offer.getOfferAmount() / (double) 100;
+ } else {
+ currentOfferPrice = offer.getOfferAmount();
+ }
+ if (currentOfferPrice > bestOffer) {
+ bestOffer = currentOfferPrice;
+ }
+ }
+ double offerDiscountPrice = MRP - bestOffer;
+ if (isOfferAvailable && offerDiscountPrice < discountedPrice) return offerDiscountPrice;
return discountedPrice;
}
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanBarcodeActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanBarcodeActivity.java
index 47508cf..fcd48fa 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanBarcodeActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanBarcodeActivity.java
@@ -21,7 +21,7 @@ public class ScanBarcodeActivity extends ScanActivity {
@Override
protected void initViews() {
- setTitle("Scan Barcode");
+ setTitle(getString(R.string.scan_barcode));
setContentView(R.layout.activity_scan_barcode);
TextView helpText = findViewById(R.id.text_view_help);
helpText.setText(R.string.point_at_a_barcode_to_scan);
diff --git a/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanTextActivity.java b/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanTextActivity.java
index 9537e67..2638489 100644
--- a/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanTextActivity.java
+++ b/merchant-app/app/src/main/java/com/googleinterns/smb/scan/ScanTextActivity.java
@@ -36,7 +36,7 @@ public class ScanTextActivity extends ScanActivity implements
@Override
protected void initViews() {
- setTitle("Scan Text");
+ setTitle(getString(R.string.scan_text));
setContentView(R.layout.activity_scan_text);
TextView helpText = findViewById(R.id.text_view_help);
helpText.setText(R.string.point_at_product_text_to_scan);
diff --git a/merchant-app/app/src/main/res/layout/activity_product_offer.xml b/merchant-app/app/src/main/res/layout/activity_product_offer.xml
index 541d1c4..1be2989 100644
--- a/merchant-app/app/src/main/res/layout/activity_product_offer.xml
+++ b/merchant-app/app/src/main/res/layout/activity_product_offer.xml
@@ -22,7 +22,9 @@
+ android:layout_height="wrap_content"
+ android:imeOptions="actionDone"
+ android:inputType="text" />
diff --git a/merchant-app/app/src/main/res/layout/activity_settings.xml b/merchant-app/app/src/main/res/layout/activity_settings.xml
index 89e32d0..4c106aa 100644
--- a/merchant-app/app/src/main/res/layout/activity_settings.xml
+++ b/merchant-app/app/src/main/res/layout/activity_settings.xml
@@ -35,7 +35,8 @@
+ android:layout_height="wrap_content"
+ android:inputType="text" />
@@ -128,7 +129,8 @@
+ android:layout_height="wrap_content"
+ android:inputType="text" />
diff --git a/merchant-app/app/src/main/res/values/strings.xml b/merchant-app/app/src/main/res/values/strings.xml
index 3f08b68..911afbb 100644
--- a/merchant-app/app/src/main/res/values/strings.xml
+++ b/merchant-app/app/src/main/res/values/strings.xml
@@ -49,7 +49,6 @@
Set quantity
Newly detected products have been added to your inventory
Set discount
- Debug tools
No internet connection
Accept
Decline
@@ -57,8 +56,6 @@
New orders
Profile icon
Inventory
- Ongoing orders
- Settings
Open navigation drawer
Close navigation drawer
google logo
@@ -88,16 +85,15 @@
Automatically download attachments for incoming emails
Only download attachments when manually requested
- Offers
Pick location marker
Save
Set Location
Store Location
Store address
Store name
- You can choose to provide a domain name for your store which will allow more customers to access your store.
- Domain name (optional)
- Location permissions are required for you to access current location.
+ You can choose to provide a URL Path for your store which will allow more customers to access your store.
+ Shareable URL Path (optional)
+ Location permissions are required to access your current location if you want to set your current location as your store location.
Forever
OK
Set a price to mark available
@@ -132,7 +128,6 @@
Time of order:
Customer Address
Call
- Products
Deliver with Dunzo
Find products
Price:
@@ -159,7 +154,23 @@
New product
Search
Search here
- Valid domain name is not set. Do you want to continue?
- Changing domain name will make all previous domain pages invalid. Do you want to continue?
+ Valid URL Path is not set. Do you want to continue?
+ Changing URL Path will make all previous domain pages invalid. Do you want to continue?
Yes
+ Change Location
+
+
+ Scan Barcode
+ Scan Text
+ Billing
+ Products
+ Debug tools
+ Product catalog
+ Pick location
+ New Orders
+ Offer
+ Order
+ Ongoing orders
+ Offers
+ Settings