package com.fancl.iloyalty.activity.product;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RelativeLayout;
import com.fancl.iloyalty.Constants;
import com.fancl.iloyalty.R;
import com.fancl.iloyalty.R.color;
import com.fancl.iloyalty.activity.MainTabActivity;
import com.fancl.iloyalty.adapter.ProductSearchListAdapter;
import com.fancl.iloyalty.exception.FanclException;
import com.fancl.iloyalty.factory.CustomServiceFactory;
import com.fancl.iloyalty.pojo.Product;
import com.fancl.iloyalty.util.LogController;
public class ProductSearchActivity extends MainTabActivity {
// WRT <<iloyalty_flow_V1.7_20120713.pdf>> screen 6.1.6
private View productSearchLayout;
private ProductSearchListAdapter productSearchListViewAdapter;
private List<Product> articleList = new ArrayList<Product>();
private EditText searchEditText;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
navigationBarLeftBtn.setVisibility(View.VISIBLE);
headerTitleTextView.setText(this.getResources().getString(
R.string.menu_product_btn_title));
this.setupSpaceLayout();
this.setupMenuButtonListener(4, true);
}
private void setupSpaceLayout() {
// TODO Auto-generated method stub
productSearchLayout = (RelativeLayout) this.getLayoutInflater().inflate(
R.layout.search_page, null);
spaceLayout.addView(productSearchLayout, new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
ListView articleListView = (ListView) findViewById(R.id.search_result_layout);
productSearchListViewAdapter = new ProductSearchListAdapter(this, this, handler);
articleListView.setCacheColorHint(color.transparent);
articleListView.setDividerHeight(0);
articleListView.setScrollingCacheEnabled(false);
articleListView.setAdapter(productSearchListViewAdapter);
searchEditText = (EditText) findViewById(R.id.searchEditText);
searchEditText.setHint(getString(R.string.product_search_hint));
searchEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
LogController.log("search:"+searchEditText.getText());
String tmpSearch = searchEditText.getText().toString();
try {
articleList = CustomServiceFactory
.getProductService().getProductSearchResultWithKeyword(tmpSearch);
} catch (FanclException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
productSearchListViewAdapter.setArticleList(articleList);
try {
CustomServiceFactory.getSettingService().addUserLogWithSection("Product", "ProductSearchResultPage", "", "", tmpSearch, "Search", "");
} catch (FanclException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
articleListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Product product = articleList.get(arg2);
Intent intent = new Intent(ProductSearchActivity.this, ProductDetailActivity.class);
intent.putExtra(Constants.PRODUCT_ITEM_KEY, product);
startActivity(intent);
try {
CustomServiceFactory.getSettingService().addUserLogWithSection("Product", "Product Detail", "", product.getObjectId(), product.getTitleEn(), "FromSearch", "");
} catch (FanclException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}