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:
parent
980b32db9c
commit
68c5e490f6
11 changed files with 128 additions and 17 deletions
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 Синхронизировать ресурсы (русские, французские и китайские)
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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="Информация о книге" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue