Commit 4bdb8a602d52ace972168fbddee042a2926fe983

Authored by transpine
1 parent d06f2cc2

- handle not found at search to add

app/src/main/java/net/devfac/userstory/ArrayAdapterBookSearchResult.java
... ... @@ -64,11 +64,13 @@ public class ArrayAdapterBookSearchResult extends ArrayAdapter<FragmentAddBook.B
64 64 viewHolder = (ViewHolder)v.getTag();
65 65 }
66 66  
67   - File coverFile = new File(Constants.IMAGE_FILE_SAVE_PATH, getItem(position).imageFileName);
68   - if( coverFile.exists() ){
69   - Bitmap coverBitmap = BitmapFactory.decodeFile(coverFile.getAbsolutePath());
70   - viewHolder.image_cover.setImageBitmap(coverBitmap);
71   - viewHolder.image_cover.setTag(position);
  67 + if( getItem(position).imageFileName != null){
  68 + File coverFile = new File(Constants.IMAGE_FILE_SAVE_PATH, getItem(position).imageFileName);
  69 + if( coverFile.exists() ){
  70 + Bitmap coverBitmap = BitmapFactory.decodeFile(coverFile.getAbsolutePath());
  71 + viewHolder.image_cover.setImageBitmap(coverBitmap);
  72 + viewHolder.image_cover.setTag(position);
  73 + }
72 74 }
73 75  
74 76 viewHolder.text_book_title.setTag(position);
... ...
app/src/main/java/net/devfac/userstory/FSM/state/StateBookSearchToAdd.java
... ... @@ -49,7 +49,9 @@ public class StateBookSearchToAdd implements State {
49 49 }
50 50 });
51 51  
52   -
  52 + for( StateEventListener listener:mStateContext.mStateEventListenerArray){
  53 + listener.onEntry(this.getClass(), input);
  54 + }
53 55 }
54 56  
55 57 @Override
... ...
app/src/main/java/net/devfac/userstory/FragmentAddBook.java
... ... @@ -46,7 +46,7 @@ public class FragmentAddBook extends Fragment implements StateEventListener {
46 46 mListSearchedResult = (ListView)v.findViewById(R.id.list_searched_result);
47 47 mEditBookTitleToAdd = (EditText)v.findViewById(R.id.edit_book_title_to_add);
48 48  
49   - mListSearchedResult.setOnItemClickListener(new SearchResultClickListener() );
  49 + mListSearchedResult.setOnItemClickListener(new SearchResultClickListener());
50 50 // mListSearchedResult.setOnItemLongClickListener(new SearchResultLongClickListener());
51 51  
52 52 webView = (WebView)v.findViewById(R.id.webView2);
... ... @@ -110,7 +110,22 @@ public class FragmentAddBook extends Fragment implements StateEventListener {
110 110  
111 111 switch( stateResult ){
112 112 case BOOK_SEARCH_FAIL:
113   - Toast.makeText(getActivity(), "BOOK search failFail. Try search again.", Toast.LENGTH_LONG).show();
  113 +// Toast.makeText(getActivity(), "BOOK search failFail. Try search again.", Toast.LENGTH_LONG).show();
  114 + final ArrayList<BookSearchResult> notFoundArray = new ArrayList<>();
  115 + BookSearchResult emptyBookSearchResult = new BookSearchResult();
  116 + emptyBookSearchResult.title = getResources().getString(R.string.add_book_book_search_not_found_title);
  117 + emptyBookSearchResult.desc = getResources().getString(R.string.add_book_book_search_not_found_desc);
  118 + notFoundArray.add(emptyBookSearchResult);
  119 +
  120 + getActivity().runOnUiThread(new Runnable() {
  121 + @Override
  122 + public void run() {
  123 + mArrayAdapterBookSearchResult = new ArrayAdapterBookSearchResult(
  124 + getActivity(), R.layout.listview_searched_result_item, notFoundArray);
  125 + mListSearchedResult.setAdapter(mArrayAdapterBookSearchResult);
  126 + }
  127 + });
  128 +
114 129 break;
115 130 case BOOK_SEARCH_SUCCESS:
116 131 getActivity().runOnUiThread(new Runnable() {
... ... @@ -141,13 +156,15 @@ public class FragmentAddBook extends Fragment implements StateEventListener {
141 156  
142 157 @Override
143 158 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
144   - Logger.i("Clicked : " + ((BookSearchResult)parent.getItemAtPosition(position)).title);
145   - StateContext.getInstance(getActivity()).processEvent(Action.REQ_INPUT_INFO_TO_ADD,
146   - parent.getItemAtPosition(position));
147   -
148   - DialogAddBook mDialogAddBook = new DialogAddBook(getActivity(), (BookSearchResult)parent.getItemAtPosition(position));
149   - mDialogAddBook.setTitle("책 추가하기");
150   - mDialogAddBook.show();
  159 + Logger.i("Clicked : " + ((BookSearchResult) parent.getItemAtPosition(position)).title);
  160 + if( ((BookSearchResult)parent.getItemAtPosition(position)).id != null){
  161 + StateContext.getInstance(getActivity()).processEvent(Action.REQ_INPUT_INFO_TO_ADD,
  162 + parent.getItemAtPosition(position));
  163 +
  164 + DialogAddBook mDialogAddBook = new DialogAddBook(getActivity(), (BookSearchResult)parent.getItemAtPosition(position));
  165 + mDialogAddBook.setTitle("책 추가하기");
  166 + mDialogAddBook.show();
  167 + }
151 168 }
152 169 }
153 170  
... ... @@ -155,14 +172,15 @@ public class FragmentAddBook extends Fragment implements StateEventListener {
155 172  
156 173 @Override
157 174 public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
158   - Logger.i("Clicked : " + ((BookSearchResult)parent.getItemAtPosition(position)).title);
159   - StateContext.getInstance(getActivity()).processEvent(Action.REQ_INPUT_INFO_TO_ADD,
160   - parent.getItemAtPosition(position));
161   -
162   - DialogAddBook mDialogAddBook = new DialogAddBook(getActivity(), (BookSearchResult)parent.getItemAtPosition(position));
163   - mDialogAddBook.setTitle("책 추가하기");
164   - mDialogAddBook.show();
165   -
  175 + Logger.i("Clicked : " + ((BookSearchResult) parent.getItemAtPosition(position)).title);
  176 + if( ((BookSearchResult)parent.getItemAtPosition(position)).id != null){
  177 + StateContext.getInstance(getActivity()).processEvent(Action.REQ_INPUT_INFO_TO_ADD,
  178 + parent.getItemAtPosition(position));
  179 +
  180 + DialogAddBook mDialogAddBook = new DialogAddBook(getActivity(), (BookSearchResult)parent.getItemAtPosition(position));
  181 + mDialogAddBook.setTitle("책 추가하기");
  182 + mDialogAddBook.show();
  183 + }
166 184 return false;
167 185 }
168 186 }
... ...
app/src/main/res/values/strings.xml
... ... @@ -14,6 +14,9 @@
14 14 <string name="add_book_search_dialog_title">검색중</string>
15 15 <string name="add_book_search_dialog_content">추가할 책을 검색중입니다.\n잠시만 기다려주세요...</string>
16 16  
  17 + <string name="add_book_book_search_not_found_title">찾는책이 없습니다.</string>
  18 + <string name="add_book_book_search_not_found_desc">다른 검색어로 검색해 주세요.</string>
  19 +
17 20 <string name="bookshlef_sync_dialog_title">가져오는중</string>
18 21 <string name="bookshlef_sync_dialog_content">책 목록을 동기화 하는 중입니다.\n잠시만 기다려주세요...</string>
19 22  
... ...