1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-06 03:50:19 +02:00

NetworkSearch has been moved to the NetworkLibrary

git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1301 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
Vasiliy Bout 2010-04-28 21:50:06 +00:00
parent 980b32db9c
commit 68c5e490f6
11 changed files with 128 additions and 17 deletions

View file

@ -37,10 +37,6 @@
<activity android:name="org.geometerplus.android.fbreader.LibraryTabActivity" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.BookSearchActivity" />
</activity>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkLibraryActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<service android:name="org.geometerplus.android.fbreader.network.CatalogDownloaderService" android:process=":networkLibrary" />
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.network.BookDownloaderCallback" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay" />
<activity android:name="org.geometerplus.android.fbreader.TOCActivity" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.BookmarksActivity" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.BookmarkSearchActivity" />
@ -78,5 +74,18 @@
</activity>
<service android:name="org.geometerplus.android.fbreader.network.BookDownloaderService" android:process=":bookDownloader" />
<activity android:name="org.geometerplus.zlibrary.ui.android.dialogs.DialogActivity" android:label="" android:configChanges="orientation|keyboardHidden"/>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkSearchActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
</activity>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkLibraryActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.network.NetworkSearchActivity" />
</activity>
<service android:name="org.geometerplus.android.fbreader.network.CatalogDownloaderService" android:process=":networkLibrary" />
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.network.BookDownloaderCallback" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay" />
</application>
</manifest>

View file

@ -37,10 +37,6 @@
<activity android:name="org.geometerplus.android.fbreader.LibraryTabActivity" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.BookSearchActivity" />
</activity>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkLibraryActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<service android:name="org.geometerplus.android.fbreader.network.CatalogDownloaderService" android:process=":networkLibrary" />
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.network.BookDownloaderCallback" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay" />
<activity android:name="org.geometerplus.android.fbreader.TOCActivity" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.BookmarksActivity" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.BookmarkSearchActivity" />
@ -78,5 +74,18 @@
</activity>
<service android:name="org.geometerplus.android.fbreader.network.BookDownloaderService" android:process=":bookDownloader" />
<activity android:name="org.geometerplus.zlibrary.ui.android.dialogs.DialogActivity" android:label="" android:configChanges="orientation|keyboardHidden"/>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkSearchActivity" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
</activity>
<activity android:name="org.geometerplus.android.fbreader.network.NetworkLibraryActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.default_searchable" android:value="org.geometerplus.android.fbreader.network.NetworkSearchActivity" />
</activity>
<service android:name="org.geometerplus.android.fbreader.network.CatalogDownloaderService" android:process=":networkLibrary" />
<activity android:name="org.geometerplus.android.fbreader.network.NetworkBookInfoActivity" android:process=":networkLibrary" android:configChanges="orientation|keyboardHidden" />
<activity android:name="org.geometerplus.android.fbreader.network.BookDownloaderCallback" android:process=":networkLibrary" android:theme="@android:style/Theme.NoDisplay" />
</application>
</manifest>

View file

@ -10,8 +10,11 @@ DONE Сделать кнопку "Остановить загрузку" для
DELAYED более низкоуровневая обраотка остновки, чтобы не нужно было ждать загрузки item'а...
DONE сделать menu item "Идет остановка загрузки"
DELAYED сделать кнопку "Остановить загрузку" в Notification'е
** убрать иконку сетевого поиска из библиотеки --> перенести в NetworkLibrary
** сетевой поиск (посмотреть на activity в metadata)
DONE убрать иконку сетевого поиска из библиотеки --> перенести в NetworkLibrary
** сетевой поиск
** NetworkSearchService
** модель + функционал поиска
** отображение результатов
** восставление пароля (use default e-mail)
** пополнение счета в litres с помощью sms
** Focus в Authentication dialog
@ -31,6 +34,8 @@ DONE показывать обложки для книжек с smashwords
* сделать BookInfoActivity
* возможность перечитать из файла метаинформацию для отдельной книги
BUG: Почему в SearchActivity нигде не вызывается метод onFailure()????
------------------------------
DONE Синхронизировать ресурсы (русские, французские и китайские)

View file

@ -12,7 +12,6 @@
<node name="searchResults" value="Found"/>
<node name="menu">
<node name="localSearch" value="Local search"/>
<node name="networkSearch" value="Network search"/>
</node>
<node name="openBook" value="Open book"/>
<node name="deleteBook" value="Delete book"/>
@ -47,6 +46,9 @@
<node name="openInBrowser" value="Do you want to open this catalog in browser?" />
</node>
<node name="downloadingCatalogs" value="Downloading catalogs"/> <!-- used as notification title -->
<node name="menu">
<node name="networkSearch" value="Network search"/>
</node>
</node>
<node name="networkBookView">
<node name="bookInfo" value="Book Info" />

View file

@ -13,7 +13,6 @@
<node name="searchResults" value="Trouvé(s)"/>
<node name="menu">
<node name="localSearch" value="Recherche locale"/>
<node name="networkSearch" value="Recherche sur le réseau"/>
</node>
<node name="openBook" value="Ouvrir ce livre"/>
<node name="deleteBook" value="Supprimer ce livre"/>
@ -48,6 +47,9 @@
<node name="openInBrowser" value="Voulez-vous ouvrir ce catalogue dans le navigateur?" />
</node>
<node name="downloadingCatalogs" value="Chargement des catalogues"/> <!-- used as notification title -->
<node name="menu">
<node name="networkSearch" value="Recherche sur le réseau"/>
</node>
</node>
<node name="networkBookView">
<node name="bookInfo" value="Informations sur le livre" />

View file

@ -12,7 +12,6 @@
<node name="searchResults" value="Найдено"/>
<node name="menu">
<node name="localSearch" value="Поиск"/>
<node name="networkSearch" value="Поиск в сети"/>
</node>
<node name="openBook" value="Читать книгу"/>
<node name="deleteBook" value="Удалить книгу"/>
@ -47,6 +46,9 @@
<node name="openInBrowser" value="Do you want to open this catalog in browser?" />
</node>
<node name="downloadingCatalogs" value="Идет загрузка каталогов"/> <!-- used as notification title -->
<node name="menu">
<node name="networkSearch" value="Поиск в сети"/>
</node>
</node>
<node name="networkBookView">
<node name="bookInfo" value="Информация о книге" />

View file

@ -12,8 +12,7 @@
<node name="recent" value="最近" />
<node name="searchResults" value="搜索结果" />
<node name="menu">
<node name="Localsearch" value="本地搜索" />
<node name="networkSearch" value="网络搜索" />
<node name="localSearch" value="本地搜索" />
</node>
<node name="openBook" value="打开图书" />
<node name="deleteBook" value="删除图书" />
@ -48,6 +47,9 @@
<node name="openInBrowser" value="是否在浏览器中打开?" />
</node>
<node name="downloadingCatalogs" value="书库目录下载" /> <!-- used as notification title -->
<node name="menu">
<node name="networkSearch" value="网络搜索" />
</node>
</node>
<node name="networkBookView">
<node name="bookInfo" toBeTranslated="true" value="Book Info" />

View file

@ -121,7 +121,6 @@ public class LibraryTabActivity extends TabActivity implements MenuItem.OnMenuIt
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
addMenuItem(menu, 1, "localSearch", R.drawable.ic_menu_search);
addMenuItem(menu, 2, "networkSearch", R.drawable.ic_menu_networksearch).setEnabled(false);
return true;
}

View file

@ -147,6 +147,7 @@ public class NetworkLibraryActivity extends ListActivity implements MenuItem.OnM
myEventListeners.clear();
requestWindowFeature(Window.FEATURE_NO_TITLE);
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
myConnection = new BookDownloaderServiceConnection();
bindService(
@ -459,12 +460,34 @@ public class NetworkLibraryActivity extends ListActivity implements MenuItem.OnM
}
private MenuItem addMenuItem(Menu menu, int index, String resourceKey, int iconId) {
final String label = myResource.getResource("menu").getResource(resourceKey).getValue();
final MenuItem item = menu.add(0, index, Menu.NONE, label);
item.setOnMenuItemClickListener(this);
item.setIcon(iconId);
return item;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
super.onCreateOptionsMenu(menu);
addMenuItem(menu, 1, "networkSearch", R.drawable.ic_menu_networksearch);
return true;
}
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case 1:
return onSearchRequested();
default:
return true;
}
}
@Override
public boolean onSearchRequested() {
final NetworkLibrary library = NetworkLibrary.Instance();
startSearch(library.NetworkSearchPatternOption.getValue(), true, null, false);
return true;
}
}

View file

@ -0,0 +1,55 @@
/*
* Copyright (C) 2010 Geometer Plus <contact@geometerplus.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
package org.geometerplus.android.fbreader.network;
import android.os.*;
import android.app.*;
import android.content.Intent;
import org.geometerplus.fbreader.network.NetworkLibrary;
public class NetworkSearchActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Thread.setDefaultUncaughtExceptionHandler(new org.geometerplus.zlibrary.ui.android.library.UncaughtExceptionHandler(this));
final Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
final String pattern = intent.getStringExtra(SearchManager.QUERY);
}
finish();
}
protected boolean runSearch(final String pattern) {
final NetworkLibrary library = NetworkLibrary.Instance();
library.NetworkSearchPatternOption.setValue(pattern);
// run search
return true; // return error status
}
protected Activity getParentActivity() {
return NetworkLibraryActivity.Instance;
}
}

View file

@ -24,6 +24,7 @@ import java.util.*;
import org.geometerplus.zlibrary.core.filesystem.*;
import org.geometerplus.zlibrary.core.util.ZLNetworkUtil;
import org.geometerplus.zlibrary.core.options.ZLStringOption;
import org.geometerplus.fbreader.tree.FBTree;
import org.geometerplus.fbreader.network.tree.*;
@ -39,6 +40,8 @@ public class NetworkLibrary {
return ourInstance;
}
public final ZLStringOption NetworkSearchPatternOption = new ZLStringOption("NetworkSearch", "Pattern", "");
private final ArrayList<NetworkLink> myLinks = new ArrayList<NetworkLink>();
private final RootTree myRootTree = new RootTree();