update project structure
This commit is contained in:
parent
f61a3827ee
commit
b9f7b1fd10
29 changed files with 166 additions and 207 deletions
39
.gitignore
vendored
39
.gitignore
vendored
|
@ -1,6 +1,37 @@
|
|||
.project
|
||||
.classpath
|
||||
.idea
|
||||
/local.properties
|
||||
/.idea/workspace.xml
|
||||
.DS_Store
|
||||
|
||||
# built application files
|
||||
*.apk
|
||||
*.ap_
|
||||
|
||||
# files for the dex VM
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
# Eclipse project files
|
||||
.classpath
|
||||
.project
|
||||
|
||||
# Android Studio
|
||||
.idea/
|
||||
.gradle
|
||||
/*/local.properties
|
||||
/*/out
|
||||
/*/*/build
|
||||
/*/*/production
|
||||
*.iml
|
||||
*.iws
|
||||
*.ipr
|
||||
*~
|
||||
*.swp
|
||||
|
|
1
.gradle/1.10/taskArtifacts/cache.properties
Normal file
1
.gradle/1.10/taskArtifacts/cache.properties
Normal file
|
@ -0,0 +1 @@
|
|||
#Fri Jan 24 13:04:57 CET 2014
|
BIN
.gradle/1.10/taskArtifacts/cache.properties.lock
Normal file
BIN
.gradle/1.10/taskArtifacts/cache.properties.lock
Normal file
Binary file not shown.
BIN
.gradle/1.10/taskArtifacts/fileHashes.bin
Normal file
BIN
.gradle/1.10/taskArtifacts/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/1.10/taskArtifacts/fileSnapshots.bin
Normal file
BIN
.gradle/1.10/taskArtifacts/fileSnapshots.bin
Normal file
Binary file not shown.
BIN
.gradle/1.10/taskArtifacts/outputFileStates.bin
Normal file
BIN
.gradle/1.10/taskArtifacts/outputFileStates.bin
Normal file
Binary file not shown.
BIN
.gradle/1.10/taskArtifacts/taskArtifacts.bin
Normal file
BIN
.gradle/1.10/taskArtifacts/taskArtifacts.bin
Normal file
Binary file not shown.
|
@ -2,8 +2,8 @@
|
|||
host = https://www.transifex.com
|
||||
|
||||
[owncloud.android-news]
|
||||
file_filter = res/values-<lang>/strings.xml
|
||||
source_file = res/values/strings.xml
|
||||
file_filter = News-Android-App/src/main/res/values-<lang>/strings.xml
|
||||
source_file = News-Android-App/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
lang_map = af_ZA: af-rZA, am_ET: am-rET, ar_AE: ar-rAE, ar_BH: ar-rBH, ar_DZ: ar-rDZ, ar_EG: ar-rEG, ar_IQ: ar-rIQ, ar_JO: ar-rJO, ar_KW: ar-rKW, ar_LB: ar-rLB, ar_LY: ar-rLY, ar_MA: ar-rMA, ar_OM: ar-rOM, ar_QA: ar-rQA, ar_SA: ar-rSA, ar_SY: ar-rSY, ar_TN: ar-rTN, ar_YE: ar-rYE, arn_CL: arn-rCL, as_IN: as-rIN, az_AZ: az-rAZ, ba_RU: ba-rRU, be_BY: be-rBY, bg_BG: bg-rBG, bn_BD: bn-rBD, bn_IN: bn-rIN, bo_CN: bo-rCN, br_FR: br-rFR, bs_BA: bs-rBA, ca_ES: ca-rES, co_FR: co-rFR, cs_CZ: cs-rCZ, cy_GB: cy-rGB, da_DK: da-rDK, de_AT: de-rAT, de_CH: de-rCH, de_DE: de-rDE, de_LI: de-rLI, de_LU: de-rLU, dsb_DE: dsb-rDE, dv_MV: dv-rMV, el_GR: el-rGR, en_AU: en-rAU, en_BZ: en-rBZ, en_CA: en-rCA, en_GB: en-rGB, en_IE: en-rIE, en_IN: en-rIN, en_JM: en-rJM, en_MY: en-rMY, en_NZ: en-rNZ, en_PH: en-rPH, en_SG: en-rSG, en_TT: en-rTT, en_US: en-rUS, en_ZA: en-rZA, en_ZW: en-rZW, es_AR: es-rAR, es_BO: es-rBO, es_CL: es-rCL, es_CO: es-rCO, es_CR: es-rCR, es_DO: es-rDO, es_EC: es-rEC, es_ES: es-rES, es_GT: es-rGT, es_HN: es-rHN, es_MX: es-rMX, es_NI: es-rNI, es_PA: es-rPA, es_PE: es-rPE, es_PR: es-rPR, es_PY: es-rPY, es_SV: es-rSV, es_US: es-rUS, es_UY: es-rUY, es_VE: es-rVE, et_EE: et-rEE, eu_ES: eu-rES, fa_IR: fa-rIR, fi_FI: fi-rFI, fil_PH: fil-rPH, fo_FO: fo-rFO, fr_BE: fr-rBE, fr_CA: fr-rCA, fr_CH: fr-rCH, fr_FR: fr-rFR, fr_LU: fr-rLU, fr_MC: fr-rMC, fy_NL: fy-rNL, ga_IE: ga-rIE, gd_GB: gd-rGB, gl_ES: gl-rES, gsw_FR: gsw-rFR, gu_IN: gu-rIN, ha_NG: ha-rNG, he_IL: he-rIL, hi_IN: hi-rIN, hr_BA: hr-rBA, hr_HR: hr-rHR, hsb_DE: hsb-rDE, hu_HU: hu-rHU, hy_AM: hy-rAM, id_ID: id-rID, ig_NG: ig-rNG, ii_CN: ii-rCN, is_IS: is-rIS, it_CH: it-rCH, it_IT: it-rIT, iu_CA: iu-rCA, ja_JP: ja-rJP, ka_GE: ka-rGE, kk_KZ: kk-rKZ, kl_GL: kl-rGL, km_KH: km-rKH, kn_IN: kn-rIN, ko_KR: ko-rKR, kok_IN: kok-rIN, ku_IQ: ku-rIQ, ky_KG: ky-rKG, lb_LU: lb-rLU, lo_LA: lo-rLA, lt_LT: lt-rLT, lv_LV: lv-rLV, mi_NZ: mi-rNZ, mk_MK: mk-rMK, ml_IN: ml-rIN, mn_CN: mn-rCN, mn_MN: mn-rMN, moh_CA: moh-rCA, mr_IN: mr-rIN, ms_BN: ms-rBN, ms_MY: ms-rMY, my_MM: my, mt_MT: mt-rMT, nb_NO: nb-rNO, ne_NP: ne-rNP, nl_BE: nl-rBE, nl_NL: nl-rNL, nn_NO: nn-rNO, nso_ZA: nso-rZA, oc_FR: oc-rFR, or_IN: or-rIN, pa_IN: pa-rIN, pl_PL: pl-rPL, prs_AF: prs-rAF, ps_AF: ps-rAF, pt_BR: pt-rBR, pt_PT: pt-rPT, qut_GT: qut-rGT, quz_BO: quz-rBO, quz_EC: quz-rEC, quz_PE: quz-rPE, rm_CH: rm-rCH, ro_RO: ro-rRO, ru_RU: ru-rRU, rw_RW: rw-rRW, sa_IN: sa-rIN, sah_RU: sah-rRU, se_FI: se-rFI, se_NO: se-rNO, se_SE: se-rSE, si_LK: si-rLK, sk_SK: sk-rSK, sl_SI: sl-rSI, sma_NO: sma-rNO, sma_SE: sma-rSE, smj_NO: smj-rNO, smj_SE: smj-rSE, smn_FI: smn-rFI, sms_FI: sms-rFI, sq_AL: sq-rAL, sr_BA: sr-rBA, sr_CS: sr-rCS, sr_ME: sr-rME, sr_RS: sr-rRS, sr@latin: sr-rSP, sv_FI: sv-rFI, sv_SE: sv-rSE, sw_KE: sw-rKE, syr_SY: syr-rSY, ta_IN: ta-rIN, ta_LK: ta-rLK, te_IN: te-rIN, tg_TJ: tg-rTJ, th_TH: th-rTH, tk_TM: tk-rTM, tn_ZA: tn-rZA, tr_TR: tr-rTR, tt_RU: tt-rRU, tzm_DZ: tzm-rDZ, ug_CN: ug-rCN, uk_UA: uk-rUA, ur_PK: ur-rPK, uz_UZ: uz-rUZ, vi_VN: vi-rVN, wo_SN: wo-rSN, xh_ZA: xh-rZA, yo_NG: yo-rNG, zh_CN: zh-rCN, zh_CN.GB2312:zh-rBG, zh_HK: zh-rHK, zh_MO: zh-rMO, zh_SG: zh-rSG, zh_TW: zh-rTW, zu_ZA: zu-rZA
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:0.8.+'
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'android'
|
||||
|
||||
android {
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
apply plugin: 'android'
|
||||
|
||||
android {
|
||||
compileSdkVersion 19
|
||||
buildToolsVersion '19.0.0'
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 7
|
||||
targetSdkVersion 19
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
runProguard false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.android.support:support-v4:19.0.+'
|
||||
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
|
||||
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+'
|
||||
compile files('src/main/libs/gson-2.2.4.jar')
|
||||
compile files('src/main/libs/jsoup-1.7.2.jar')
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="de.luhmer.owncloudnewsreader"
|
||||
android:versionCode="40"
|
||||
android:versionName="0.5.5" >
|
||||
android:versionCode="41"
|
||||
android:versionName="0.5.6" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
|
|
|
@ -209,14 +209,14 @@ public class NewsDetailActivity extends SherlockFragmentActivity {
|
|||
if(keyCode == KeyEvent.KEYCODE_BACK)
|
||||
{
|
||||
NewsDetailFragment ndf = (NewsDetailFragment) getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager + ":" + currentPosition);
|
||||
if(ndf.webview != null)
|
||||
if(ndf != null && ndf.webview != null)
|
||||
{
|
||||
if(ndf.webview.canGoBack())
|
||||
{
|
||||
{
|
||||
ndf.webview.goBack();
|
||||
if(!ndf.webview.canGoBack())//RssItem
|
||||
ndf.LoadRssItemInWebView();
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -227,8 +227,8 @@ public class NewsDetailActivity extends SherlockFragmentActivity {
|
|||
|
||||
private void PageChanged(int position)
|
||||
{
|
||||
StopVideoOnCurrentPage();
|
||||
currentPosition = position;
|
||||
StopVideoOnCurrentPage();
|
||||
currentPosition = position;
|
||||
ResumeVideoPlayersOnCurrentPage();
|
||||
|
||||
//String idFeed = String.valueOf(rssFiles.get(position).getDB_Id());
|
||||
|
@ -245,11 +245,19 @@ public class NewsDetailActivity extends SherlockFragmentActivity {
|
|||
else //Only in else because the function markItemAsReas updates the ActionBar items as well
|
||||
UpdateActionBarIcons();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the id of a feed. When the position is invalid, -1 is returned.
|
||||
* @param position
|
||||
* @return
|
||||
*/
|
||||
public String getIdCurrentFeed(int position) {
|
||||
cursor.moveToPosition(position);
|
||||
String idFeed = String.valueOf(cursor.getString(0));
|
||||
return idFeed;
|
||||
if(position < cursor.getCount()) {
|
||||
cursor.moveToPosition(position);
|
||||
String idFeed = String.valueOf(cursor.getString(0));
|
||||
return idFeed;
|
||||
}
|
||||
return "-1";
|
||||
}
|
||||
|
||||
private void ResumeVideoPlayersOnCurrentPage()
|
||||
|
@ -270,27 +278,32 @@ public class NewsDetailActivity extends SherlockFragmentActivity {
|
|||
public void UpdateActionBarIcons()
|
||||
{
|
||||
String idFeed = getIdCurrentFeed(currentPosition);
|
||||
boolean isStarred = dbConn.isFeedUnreadStarred(idFeed, false);
|
||||
boolean isRead = dbConn.isFeedUnreadStarred(idFeed, true);
|
||||
|
||||
//if(rssFiles.get(currentPosition).getStarred() && menuItem_Starred != null)
|
||||
if(isStarred && menuItem_Starred != null)
|
||||
menuItem_Starred.setIcon(getSmallVersionOfActionbarIcon(R.drawable.btn_rating_star_on_normal_holo_dark));
|
||||
//menuItem_Starred.setIcon(R.drawable.btn_rating_star_on_normal_holo_light);
|
||||
else if(menuItem_Starred != null)
|
||||
menuItem_Starred.setIcon(getSmallVersionOfActionbarIcon(R.drawable.btn_rating_star_off_normal_holo_dark));
|
||||
//menuItem_Starred.setIcon(R.drawable.btn_rating_star_off_normal_holo_light);
|
||||
|
||||
|
||||
|
||||
if(isRead && menuItem_Read != null) {
|
||||
menuItem_Read.setIcon(R.drawable.btn_check_on_holo_dark);
|
||||
menuItem_Read.setChecked(true);
|
||||
}
|
||||
else if(menuItem_Read != null) {
|
||||
menuItem_Read.setIcon(R.drawable.btn_check_off_holo_dark);
|
||||
menuItem_Read.setChecked(false);
|
||||
}
|
||||
boolean isStarred = false;
|
||||
boolean isRead = false;
|
||||
|
||||
if(idFeed != "-1") {
|
||||
isStarred = dbConn.isFeedUnreadStarred(idFeed, false);
|
||||
isRead = dbConn.isFeedUnreadStarred(idFeed, true);
|
||||
}
|
||||
|
||||
//if(rssFiles.get(currentPosition).getStarred() && menuItem_Starred != null)
|
||||
if(isStarred && menuItem_Starred != null)
|
||||
menuItem_Starred.setIcon(getSmallVersionOfActionbarIcon(R.drawable.btn_rating_star_on_normal_holo_dark));
|
||||
//menuItem_Starred.setIcon(R.drawable.btn_rating_star_on_normal_holo_light);
|
||||
else if(menuItem_Starred != null)
|
||||
menuItem_Starred.setIcon(getSmallVersionOfActionbarIcon(R.drawable.btn_rating_star_off_normal_holo_dark));
|
||||
//menuItem_Starred.setIcon(R.drawable.btn_rating_star_off_normal_holo_light);
|
||||
|
||||
|
||||
|
||||
if(isRead && menuItem_Read != null) {
|
||||
menuItem_Read.setIcon(R.drawable.btn_check_on_holo_dark);
|
||||
menuItem_Read.setChecked(true);
|
||||
}
|
||||
else if(menuItem_Read != null) {
|
||||
menuItem_Read.setIcon(R.drawable.btn_check_off_holo_dark);
|
||||
menuItem_Read.setChecked(false);
|
||||
}
|
||||
}
|
||||
|
||||
public Drawable getSmallVersionOfActionbarIcon(int res_id) {
|
||||
|
|
|
@ -50,7 +50,7 @@ import de.luhmer.owncloudnewsreader.helper.FontHelper;
|
|||
import de.luhmer.owncloudnewsreader.helper.ImageHandler;
|
||||
import de.luhmer.owncloudnewsreader.helper.ThemeChooser;
|
||||
|
||||
public class NewsDetailFragment extends SherlockFragment {
|
||||
public class NewsDetailFragment extends SherlockFragment {
|
||||
public static final String ARG_SECTION_NUMBER = "ARG_SECTION_NUMBER";
|
||||
|
||||
public static final String TAG = "NewsDetailFragment";
|
||||
|
@ -132,7 +132,9 @@ public class NewsDetailFragment extends SherlockFragment {
|
|||
|
||||
webview = (WebView) rootView.findViewById(R.id.webview);
|
||||
|
||||
//webview.setBackgroundColor(getResources().getColor(android.R.color.background_dark));
|
||||
if(ThemeChooser.isDarkTheme(getActivity())) {
|
||||
webview.setBackgroundColor(getResources().getColor(android.R.color.background_dark));
|
||||
}
|
||||
|
||||
progressbar_webview = (ProgressBar) rootView.findViewById(R.id.progressbar_webview);
|
||||
|
||||
|
@ -191,7 +193,11 @@ public class NewsDetailFragment extends SherlockFragment {
|
|||
}
|
||||
progressbar_webview.setProgress(progress);
|
||||
if(progress == 100) {
|
||||
progressbar_webview.setVisibility(ProgressBar.GONE);
|
||||
progressbar_webview.setVisibility(ProgressBar.GONE);
|
||||
|
||||
if(ThemeChooser.isDarkTheme(getActivity())) {
|
||||
webview.setBackgroundColor(getResources().getColor(android.R.color.transparent));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -45,6 +45,8 @@ import com.devspark.robototextview.widget.RobotoCheckBox;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import de.luhmer.owncloudnewsreader.ListView.BlockingExpandableListView;
|
||||
import de.luhmer.owncloudnewsreader.ListView.BlockingListView;
|
||||
import de.luhmer.owncloudnewsreader.ListView.SubscriptionExpandableListAdapter;
|
||||
import de.luhmer.owncloudnewsreader.cursor.IOnStayUnread;
|
||||
import de.luhmer.owncloudnewsreader.cursor.NewsListCursorAdapter;
|
||||
|
@ -161,9 +163,7 @@ public class NewsReaderDetailFragment extends SherlockListFragment implements IO
|
|||
//getListView().setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
||||
|
||||
//lvAdapter = null;
|
||||
NewsListCursorAdapter lvAdapter = new NewsListCursorAdapter(getActivity(), null, this);
|
||||
setListAdapter(lvAdapter);
|
||||
|
||||
|
||||
getActivity().getSupportLoaderManager().destroyLoader(0);
|
||||
|
||||
if(reloadCursorOnStartUp)
|
||||
|
@ -209,10 +209,10 @@ public class NewsReaderDetailFragment extends SherlockListFragment implements IO
|
|||
|
||||
if(lastViewedArticleCheckbox == null)
|
||||
lastViewedArticleCheckbox = getCheckBoxAtPosition(0, view);
|
||||
|
||||
|
||||
RobotoCheckBox cb = getCheckBoxAtPosition(0, view);
|
||||
if(lastViewedArticleCheckbox != cb) {
|
||||
if(!stayUnreadCheckboxes.contains(lastViewedArticleCheckbox));
|
||||
if(! (lastViewedArticleCheckbox.isChecked() && stayUnreadCheckboxes.contains(lastViewedArticleCheckbox)));
|
||||
NewsListCursorAdapter.ChangeCheckBoxState(lastViewedArticleCheckbox, true, getActivity());
|
||||
|
||||
lastViewedArticleCheckbox = cb;
|
||||
|
@ -269,8 +269,19 @@ public class NewsReaderDetailFragment extends SherlockListFragment implements IO
|
|||
@Override
|
||||
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
|
||||
NewsListCursorAdapter nca = (NewsListCursorAdapter) getListAdapter();
|
||||
if(nca != null)
|
||||
nca.swapCursor(cursor);
|
||||
|
||||
|
||||
// Block children layout for now
|
||||
BlockingListView bView = ((BlockingListView) getListView());
|
||||
|
||||
bView.setBlockLayoutChildren(true);
|
||||
|
||||
if(nca == null) {
|
||||
NewsListCursorAdapter lvAdapter = new NewsListCursorAdapter(getActivity(), null, NewsReaderDetailFragment.this);
|
||||
setListAdapter(lvAdapter);
|
||||
nca = lvAdapter;
|
||||
}
|
||||
nca.swapCursor(cursor);
|
||||
|
||||
if(cursor.getCount() <= 0) {
|
||||
getListView().setVisibility(View.GONE);
|
||||
|
@ -288,6 +299,8 @@ public class NewsReaderDetailFragment extends SherlockListFragment implements IO
|
|||
} catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
bView.setBlockLayoutChildren(false);
|
||||
//((NewsListCursorAdapter) getListAdapter()).changeCursor(cursor);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@ import android.content.Intent;
|
|||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
@ -241,7 +244,9 @@ public class NewsReaderListActivity extends MenuUtilsSherlockFragmentActivity im
|
|||
}
|
||||
|
||||
|
||||
|
||||
public boolean isSlidingPaneOpen() {
|
||||
return mSlidingLayout.isOpen();
|
||||
}
|
||||
|
||||
private NewsReaderDetailFragment StartDetailFragmentNow() {
|
||||
NewsReaderDetailFragment nrdf = null;
|
||||
|
@ -252,7 +257,6 @@ public class NewsReaderListActivity extends MenuUtilsSherlockFragmentActivity im
|
|||
return nrdf;
|
||||
}
|
||||
|
||||
|
||||
public void updateAdapter() {
|
||||
NewsReaderListFragment nlf = ((NewsReaderListFragment) getSupportFragmentManager().findFragmentById(R.id.left_drawer));
|
||||
if(nlf != null)
|
||||
|
|
|
@ -99,7 +99,7 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
String LastUpdatedLabelTextTemp = null;
|
||||
|
||||
switch(st) {
|
||||
case SYNC_TYPE__GET_API:
|
||||
case SYNC_TYPE__GET_API:
|
||||
break;
|
||||
case SYNC_TYPE__ITEM_STATES:
|
||||
LastUpdatedLabelTextTemp = getString(R.string.pull_to_refresh_updateTags);
|
||||
|
@ -110,9 +110,9 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
case SYNC_TYPE__FEEDS:
|
||||
LastUpdatedLabelTextTemp = getString(R.string.pull_to_refresh_updateFeeds);
|
||||
break;
|
||||
case SYNC_TYPE__ITEMS:
|
||||
case SYNC_TYPE__ITEMS:
|
||||
LastUpdatedLabelTextTemp = getString(R.string.pull_to_refresh_updateItems);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
final String LastUpdatedLabelText = LastUpdatedLabelTextTemp;
|
||||
|
@ -424,7 +424,7 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
new PostDelayHandler(getActivity()).stopRunningPostDelayHandler();//Stop pending sync handler
|
||||
|
||||
//_ownCloadSyncService.startSync();
|
||||
|
||||
|
||||
/*
|
||||
* Request the sync for the default account, authority, and
|
||||
* manual sync settings
|
||||
|
@ -437,7 +437,9 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
if(acc.type.equals(AccountGeneral.ACCOUNT_TYPE))
|
||||
ContentResolver.requestSync(acc, AccountGeneral.ACCOUNT_TYPE, accBundle);
|
||||
//http://stackoverflow.com/questions/5253858/why-does-contentresolver-requestsync-not-trigger-a-sync
|
||||
}
|
||||
} else {
|
||||
UpdateSyncButtonLayout();
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -445,7 +447,7 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
//_Reader.attachToRunningTask(-10, getActivity(), onAsyncTask_GetVersionFinished);
|
||||
}
|
||||
|
||||
UpdateSyncButtonLayout();
|
||||
//UpdateSyncButtonLayout();
|
||||
}
|
||||
|
||||
|
||||
|
@ -580,37 +582,9 @@ public class NewsReaderListFragment extends SherlockFragment implements OnCreate
|
|||
eListView.setChoiceMode(activateOnItemClick ? ListView.CHOICE_MODE_SINGLE : ListView.CHOICE_MODE_NONE);
|
||||
}
|
||||
|
||||
/*
|
||||
private void setActivatedPosition(int position) {
|
||||
if (position == ListView.INVALID_POSITION) {
|
||||
//getListView().setItemChecked(mActivatedPosition, false);
|
||||
eListView.getRefreshableView().setSelection(mActivatedPosition);
|
||||
} else {
|
||||
eListView.getRefreshableView().setSelection(position);
|
||||
//eListView.setItemChecked(position, true);
|
||||
//getListView().setItemChecked(position, true);
|
||||
}
|
||||
|
||||
mActivatedPosition = position;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
public void UpdateSyncButtonLayout()
|
||||
{
|
||||
if(getActivity() != null)
|
||||
((NewsReaderListActivity) getActivity()).UpdateButtonSyncLayout();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
public void setUpdateFinishedListener(AsyncUpdateFinished listener)
|
||||
{
|
||||
asyncUpdateFinished = listener;
|
||||
}
|
||||
protected void fireUpdateFinishedClicked()
|
||||
{
|
||||
if(asyncUpdateFinished != null)
|
||||
asyncUpdateFinished.FinishedUpdate();
|
||||
}*/
|
||||
}
|
|
@ -43,7 +43,7 @@ public class AsyncTask_DownloadImages extends AsyncTask<Void, Void, Void>{
|
|||
{
|
||||
List<String> links = ImageHandler.getImageLinksFromText(text);
|
||||
|
||||
for(String link : links)
|
||||
for(String link : links)
|
||||
new GetImageAsyncTask(link, null, 999, ImageHandler.getPathImageCache(context), context, null).execute();
|
||||
}
|
||||
return null;
|
||||
|
|
|
@ -183,12 +183,13 @@ public class NewsListCursorAdapter extends CursorAdapter {
|
|||
public void ChangeReadStateOfItem(RobotoCheckBox checkBox, View parentView, boolean isChecked, Context context) {
|
||||
|
||||
dbConn.updateIsReadOfItem(checkBox.getTag().toString(), isChecked);
|
||||
|
||||
UpdateListCursor(mContext);
|
||||
|
||||
pDelayHandler.DelayTimer();
|
||||
|
||||
RobotoTextView textView = (RobotoTextView) parentView.findViewById(R.id.summary);
|
||||
if(textView != null)
|
||||
if(textView != null && parentView.getTop() >= 0)
|
||||
{
|
||||
FontHelper fHelper = new FontHelper(context);
|
||||
if(isChecked)
|
||||
|
@ -272,23 +273,15 @@ public class NewsListCursorAdapter extends CursorAdapter {
|
|||
|
||||
public static void ChangeCheckBoxState(RobotoCheckBox cb, boolean state, Context context)
|
||||
{
|
||||
if(cb != null)
|
||||
{
|
||||
if(cb.isChecked() != state)
|
||||
{
|
||||
cb.setChecked(state);
|
||||
|
||||
UpdateListCursor(context);
|
||||
}
|
||||
}
|
||||
if(cb != null && cb.isChecked() != state)
|
||||
cb.setChecked(state);
|
||||
}
|
||||
|
||||
public static void UpdateListCursor(Context context)
|
||||
{
|
||||
SherlockFragmentActivity sfa = (SherlockFragmentActivity) context;
|
||||
|
||||
//if tablet view is enabled --> update the listview
|
||||
if(sfa instanceof NewsReaderListActivity)
|
||||
|
||||
if(sfa instanceof NewsReaderListActivity && ((NewsReaderListActivity) sfa).isSlidingPaneOpen())
|
||||
((NewsReaderListActivity) sfa).updateAdapter();
|
||||
}
|
||||
|
||||
|
|
|
@ -22,8 +22,11 @@
|
|||
package de.luhmer.owncloudnewsreader.reader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import de.luhmer.owncloudnewsreader.async_tasks.FillTextForTextViewAsyncTask;
|
||||
import de.luhmer.owncloudnewsreader.async_tasks.GetImageAsyncTask;
|
||||
import de.luhmer.owncloudnewsreader.helper.BitmapDrawableLruCache;
|
||||
import de.luhmer.owncloudnewsreader.helper.ImageDownloadFinished;
|
||||
|
@ -46,7 +49,11 @@ public class DownloadItemsToCache {
|
|||
URLs.append(key, URL_TO_IMAGE);
|
||||
|
||||
GetImageAsyncTask getImageAsync = new GetImageAsyncTask(URL_TO_IMAGE, imgDownloadFinished, key, ImageHandler.getPathImageCache(context), context, null);
|
||||
getImageAsync.execute((Void)null);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
|
||||
getImageAsync.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ((Void) null));// Execute in parallel
|
||||
else
|
||||
getImageAsync.execute((Void)null);
|
||||
}
|
||||
|
||||
ImageDownloadFinished imgDownloadFinished = new ImageDownloadFinished() {
|
||||
|
|
|
@ -192,7 +192,7 @@ public class DownloadImagesService extends IntentService {
|
|||
if (comp1.equals(comp2)){
|
||||
passedMap.remove(key);
|
||||
mapKeys.remove(key);
|
||||
sortedMap.put((String)key, (Double)val);
|
||||
sortedMap.put(key, val);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
android:visibility="gone"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<ListView
|
||||
<de.luhmer.owncloudnewsreader.ListView.BlockingListView
|
||||
android:id="@android:id/list"
|
||||
style="?android:attr/textAppearanceLarge"
|
||||
android:layout_width="match_parent"
|
||||
|
|
31
README.md
31
README.md
|
@ -40,16 +40,11 @@ The app shows an empty Toast when trying to sync or sign-in (little dark box at
|
|||
- Make sure you're using the latest version of the news app and the appframework from GitHub. Otherwise you can use the Android version <= 0.3.3 (via Google Play or GitHub <a href="https://github.com/owncloud/News-Android-App/commits/master/News-Android-App.apk">Choose version</a>).
|
||||
|
||||
|
||||
Roadmap
|
||||
==================================
|
||||
My ToDo List is available on: http://www.strikeapp.com/#z6679l3t
|
||||
|
||||
|
||||
How to compile the App
|
||||
==================================
|
||||
Requirements:
|
||||
-----------------------
|
||||
>1) Eclipse + ADT Plugin + Android SDK installed or Android Studio
|
||||
>1) Android Studio
|
||||
>2) Git installed (you can do the following stuff without git but I'm not going to show how).
|
||||
|
||||
Download and install:
|
||||
|
@ -58,32 +53,30 @@ Download and install:
|
|||
>2) Navigate to your workspace
|
||||
>3) Then type in:
|
||||
><pre>
|
||||
git clone https://github.com/JakeWharton/ActionBarSherlock.git
|
||||
git clone https://github.com/David-Development/Android-PullToRefresh.git
|
||||
git clone https://github.com/owncloud/News-Android-App.git
|
||||
git clone https://github.com/gabrielemariotti/changeloglib.git
|
||||
git clone https://github.com/MichaelFlisar/MessageBar.git
|
||||
></pre>
|
||||
|
||||
>Go to Eclipse and import the project like in the following example:
|
||||
>--> File --> Import --> Android Project from Exsisting Source --> [...]/ActionBarSherlock/actionbarsherlock
|
||||
... for all other Dependencies the same ...
|
||||
|
||||
>Open the Project and start coding!
|
||||
|
||||
>Then make a right click on the News-Android-App Project and select "Properties". Select the tab "Android". In this Window you should see the Project Build Target at the top and Libarys at the buttom of the window. Two of them are maybe marked with a read cross. So remove them and add the ActionBarSherlock and the Android PullToRefresh Libary
|
||||
|
||||
|
||||
>If you get this error message:
|
||||
>"Found 2 versions of android-support-v4.jar in the dependency list, but not all the versions are identical (check is based on SHA-1 only at this time)." try to copy the [...]/News-Android-App/libs/android-support-v4.jar file to [...]/ActionBarSherlock/actionbarsherlock/android-support-v4.jar
|
||||
|
||||
>That's all. I hope it works for you! If something is not working, please send me an email to david-dev@live.de
|
||||
|
||||
|
||||
Updates
|
||||
==================================
|
||||
0.5.6 (in development)
|
||||
0.5.7 (in development)
|
||||
---------------------
|
||||
|
||||
|
||||
0.5.6 (Google Play - Beta)
|
||||
---------------------
|
||||
- Fixed flickering of the screen when changing Feeds (in dark Theme)
|
||||
- New Pull-To-Refresh Style
|
||||
- Bug fix - <a href="https://github.com/owncloud/News-Android-App/issues/200">#200 Clicking article in widget makes app crash</a>
|
||||
- Bug fix - <a href="https://github.com/owncloud/News-Android-App/issues/196">#196 Stutter with "mark as read while scrolling" turned on</a>
|
||||
- Improvement - <a href="https://github.com/owncloud/News-Android-App/issues/189">#189 Read mouse-over</a>
|
||||
|
||||
0.5.5 (Google Play - Beta)
|
||||
---------------------
|
||||
- Improve Changelog View
|
||||
|
|
|
@ -5,7 +5,7 @@ buildscript {
|
|||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:0.7.+'
|
||||
classpath 'com.android.tools.build:gradle:0.8.+'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:0.5.+'
|
||||
}
|
||||
}
|
||||
apply plugin: 'android'
|
||||
|
||||
dependencies {
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 17
|
||||
buildToolsVersion "17.0.0"
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 7
|
||||
targetSdkVersion 17
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = ['src']
|
||||
resources.srcDirs = ['src']
|
||||
aidl.srcDirs = ['src']
|
||||
renderscript.srcDirs = ['src']
|
||||
res.srcDirs = ['res']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
|
||||
instrumentTest.setRoot('tests')
|
||||
}
|
||||
}
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
6
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +0,0 @@
|
|||
#Wed Apr 10 15:27:10 PDT 2013
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip
|
|
@ -1,16 +0,0 @@
|
|||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-17
|
||||
android.library.reference.1=../ActionBarSherlock/actionbarsherlock
|
||||
android.library.reference.2=../Android-PullToRefresh/library
|
|
@ -1,3 +1,2 @@
|
|||
include ':News-Android-App'
|
||||
include ':MessageBar'
|
||||
include ':News-Android-App', ':MessageBar'
|
||||
include ':Changeloglib:ChangeLogLibrary'
|
||||
|
|
Loading…
Reference in a new issue