BIG REFACTORING - 0.1.6-next edition
|
@ -14,11 +14,11 @@
|
|||
android:theme="@style/DiasporaLight" >
|
||||
|
||||
<provider
|
||||
android:name="com.github.dfa.diaspora_android.data.HashtagProvider"
|
||||
android:name="com.github.dfa.diaspora_android.service.HashtagContentProvider"
|
||||
android:authorities="com.github.dfa.diaspora_android.mainactivity" />
|
||||
|
||||
<service
|
||||
android:name="com.github.dfa.diaspora_android.task.GetPodsService"
|
||||
android:name="com.github.dfa.diaspora_android.service.FetchPodsService"
|
||||
android:enabled="true"
|
||||
android:exported="false" />
|
||||
|
||||
|
|
BIN
app/src/main/ic_launcher-web.png
Normal file
After Width: | Height: | Size: 16 KiB |
|
@ -27,10 +27,10 @@ import android.webkit.CookieManager;
|
|||
import android.webkit.CookieSyncManager;
|
||||
import android.webkit.WebView;
|
||||
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.PodUserProfile;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
import com.github.dfa.diaspora_android.service.AvatarImageLoader;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AvatarImageLoader;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
|
||||
public class App extends Application {
|
||||
|
@ -38,7 +38,7 @@ public class App extends Application {
|
|||
private AppSettings appSettings;
|
||||
private AvatarImageLoader avatarImageLoader;
|
||||
private CookieManager cookieManager;
|
||||
private PodUserProfile podUserProfile;
|
||||
private DiasporaUserProfile diasporaUserProfile;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
|
@ -52,7 +52,7 @@ public class App extends Application {
|
|||
|
||||
// Init pod profile
|
||||
avatarImageLoader = new AvatarImageLoader(c);
|
||||
podUserProfile = new PodUserProfile(this);
|
||||
diasporaUserProfile = new DiasporaUserProfile(this);
|
||||
|
||||
|
||||
// Get cookie manager
|
||||
|
@ -87,8 +87,8 @@ public class App extends Application {
|
|||
}
|
||||
}
|
||||
|
||||
public PodUserProfile getPodUserProfile() {
|
||||
return podUserProfile;
|
||||
public DiasporaUserProfile getDiasporaUserProfile() {
|
||||
return diasporaUserProfile;
|
||||
}
|
||||
|
||||
public AppSettings getSettings() {
|
||||
|
|
|
@ -43,15 +43,15 @@ import android.widget.Toast;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.fragment.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.listener.IntellihideToolbarActivityListener;
|
||||
import com.github.dfa.diaspora_android.ui.HtmlTextView;
|
||||
import com.github.dfa.diaspora_android.ui.IntellihideToolbarActivityListener;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
import com.github.dfa.diaspora_android.util.Log;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
@ -316,7 +316,7 @@ public class AboutActivity extends ThemedActivity
|
|||
public boolean onLongClick(View view) {
|
||||
if (isAdded()) {
|
||||
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData clip = ClipData.newPlainText("DEBUG_LOG", Log.getLogBuffer());
|
||||
ClipData clip = ClipData.newPlainText("DEBUG_LOG", AppLog.Log.getLogBuffer());
|
||||
clipboard.setPrimaryClip(clip);
|
||||
Toast.makeText(DebugFragment.this.getActivity(), R.string.fragment_debug__toast_log_copied, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
|
@ -325,8 +325,8 @@ public class AboutActivity extends ThemedActivity
|
|||
return true;
|
||||
}
|
||||
});
|
||||
Log.addLogObserver(this);
|
||||
update(Log.getInstance(), null);
|
||||
AppLog.Log.addLogObserver(this);
|
||||
update(AppLog.Log.getInstance(), null);
|
||||
|
||||
if (isAdded()) {
|
||||
try {
|
||||
|
@ -353,14 +353,14 @@ public class AboutActivity extends ThemedActivity
|
|||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
Log.removeLogObserver(this);
|
||||
AppLog.Log.removeLogObserver(this);
|
||||
super.onDestroyView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Observable observable, Object o) {
|
||||
if (logBox != null) {
|
||||
logBox.setText(Log.getLogBuffer());
|
||||
logBox.setText(AppLog.Log.getLogBuffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PorterDuff;
|
||||
|
@ -34,11 +34,11 @@ import android.widget.TextView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.PodAspect;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaAspect;
|
||||
import com.github.dfa.diaspora_android.listener.OnSomethingClickListener;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
|
||||
|
@ -114,7 +114,7 @@ public class AspectListFragment extends ThemedFragment implements OnSomethingCli
|
|||
|
||||
public static class AspectAdapter extends RecyclerView.Adapter<AspectAdapter.ViewHolder> {
|
||||
private AppSettings appSettings;
|
||||
private PodAspect[] aspectList;
|
||||
private DiasporaAspect[] aspectList;
|
||||
private List<String> aspectFavsList;
|
||||
private OnSomethingClickListener<Object> aspectClickedListener;
|
||||
|
||||
|
@ -148,7 +148,7 @@ public class AspectListFragment extends ThemedFragment implements OnSomethingCli
|
|||
@Override
|
||||
public AspectAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.recycler_view__list_item, parent, false);
|
||||
.inflate(R.layout.recycler_list__list_item_with_fav, parent, false);
|
||||
return new ViewHolder(v);
|
||||
}
|
||||
|
||||
|
@ -156,10 +156,10 @@ public class AspectListFragment extends ThemedFragment implements OnSomethingCli
|
|||
public void onBindViewHolder(final ViewHolder holder, int position) {
|
||||
// Alternating colors
|
||||
final Context c = holder.root.getContext();
|
||||
final PodAspect aspect = aspectList[position];
|
||||
final DiasporaAspect aspect = aspectList[position];
|
||||
holder.title.setText(aspect.name);
|
||||
if (position % 2 == 1) {
|
||||
holder.root.setBackgroundColor(Helpers.getColorFromRessource(c, R.color.md_grey_300));
|
||||
holder.root.setBackgroundColor(Helpers.getColorFromRessource(c, R.color.alternate_row_color));
|
||||
}
|
||||
|
||||
// Favourite (Star) Image
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.ObjectAnimator;
|
||||
|
@ -42,14 +42,14 @@ import android.webkit.WebView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.PodUserProfile;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
import com.github.dfa.diaspora_android.util.WebHelper;
|
||||
import com.github.dfa.diaspora_android.webview.DiasporaStreamWebChromeClient;
|
||||
import com.github.dfa.diaspora_android.webview.FileUploadWebChromeClient;
|
||||
import com.github.dfa.diaspora_android.web.BrowserFragment;
|
||||
import com.github.dfa.diaspora_android.web.DiasporaStreamWebChromeClient;
|
||||
import com.github.dfa.diaspora_android.web.FileUploadWebChromeClient;
|
||||
import com.github.dfa.diaspora_android.web.WebHelper;
|
||||
|
||||
import org.json.JSONException;
|
||||
|
||||
|
@ -328,13 +328,13 @@ public class DiasporaStreamFragment extends BrowserFragment {
|
|||
@SuppressWarnings("unused")
|
||||
@JavascriptInterface
|
||||
public void setUserProfile(final String webMessage) throws JSONException {
|
||||
PodUserProfile pup = ((App) getActivity().getApplication()).getPodUserProfile();
|
||||
DiasporaUserProfile pup = ((App) getActivity().getApplication()).getDiasporaUserProfile();
|
||||
AppLog.spam(this, "StreamFragment.JavaScriptInterface.setUserProfile()");
|
||||
if (pup.isRefreshNeeded()) {
|
||||
AppLog.v(this, "PodUserProfile needs refresh; Try to parse JSON");
|
||||
AppLog.v(this, "DiasporaUserProfile needs refresh; Try to parse JSON");
|
||||
pup.parseJson(webMessage);
|
||||
} else {
|
||||
AppLog.spam(this, "No PodUserProfile refresh needed");
|
||||
AppLog.spam(this, "No DiasporaUserProfile refresh needed");
|
||||
}
|
||||
}
|
||||
|
|
@ -59,34 +59,31 @@ import android.widget.Toast;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList;
|
||||
import com.github.dfa.diaspora_android.data.PodUserProfile;
|
||||
import com.github.dfa.diaspora_android.fragment.AspectListFragment;
|
||||
import com.github.dfa.diaspora_android.fragment.BrowserFragment;
|
||||
import com.github.dfa.diaspora_android.fragment.CustomFragment;
|
||||
import com.github.dfa.diaspora_android.fragment.DiasporaStreamFragment;
|
||||
import com.github.dfa.diaspora_android.fragment.HashtagListFragment;
|
||||
import com.github.dfa.diaspora_android.fragment.PodSelectionFragment;
|
||||
import com.github.dfa.diaspora_android.listener.WebUserProfileChangedListener;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
import com.github.dfa.diaspora_android.listener.DiasporaUserProfileChangedListener;
|
||||
import com.github.dfa.diaspora_android.listener.IntellihideToolbarActivityListener;
|
||||
import com.github.dfa.diaspora_android.receiver.OpenExternalLinkReceiver;
|
||||
import com.github.dfa.diaspora_android.receiver.UpdateTitleReceiver;
|
||||
import com.github.dfa.diaspora_android.ui.BadgeDrawable;
|
||||
import com.github.dfa.diaspora_android.ui.IntellihideToolbarActivityListener;
|
||||
import com.github.dfa.diaspora_android.ui.PodSelectionDialog;
|
||||
import com.github.dfa.diaspora_android.ui.theme.CustomFragment;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.CustomTabHelpers.CustomTabActivityHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.util.WebHelper;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.web.BrowserFragment;
|
||||
import com.github.dfa.diaspora_android.web.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.web.WebHelper;
|
||||
import com.github.dfa.diaspora_android.web.custom_tab.CustomTabActivityHelper;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class MainActivity extends ThemedActivity
|
||||
implements NavigationView.OnNavigationItemSelectedListener,
|
||||
WebUserProfileChangedListener,
|
||||
DiasporaUserProfileChangedListener,
|
||||
CustomTabActivityHelper.ConnectionCallback,
|
||||
IntellihideToolbarActivityListener,
|
||||
PodSelectionDialog.PodSelectionDialogResultListener {
|
||||
|
@ -110,7 +107,7 @@ public class MainActivity extends ThemedActivity
|
|||
private CustomTabActivityHelper customTabActivityHelper;
|
||||
private AppSettings appSettings;
|
||||
private DiasporaUrlHelper urls;
|
||||
private PodUserProfile podUserProfile;
|
||||
private DiasporaUserProfile diasporaUserProfile;
|
||||
private final Handler uiHandler = new Handler();
|
||||
private OpenExternalLinkReceiver brOpenExternalLink;
|
||||
private BroadcastReceiver brSetTitle;
|
||||
|
@ -168,10 +165,10 @@ public class MainActivity extends ThemedActivity
|
|||
|
||||
if ((app = (App) getApplication()) == null) AppLog.e(this, "App is null!");
|
||||
if ((appSettings = app.getSettings()) == null) AppLog.e(this, "AppSettings is null!");
|
||||
if ((podUserProfile = app.getPodUserProfile()) == null)
|
||||
AppLog.e(this, "PodUserProfile is null!");
|
||||
podUserProfile.setCallbackHandler(uiHandler);
|
||||
podUserProfile.setListener(this);
|
||||
if ((diasporaUserProfile = app.getDiasporaUserProfile()) == null)
|
||||
AppLog.e(this, "DiasporaUserProfile is null!");
|
||||
diasporaUserProfile.setCallbackHandler(uiHandler);
|
||||
diasporaUserProfile.setListener(this);
|
||||
urls = new DiasporaUrlHelper(appSettings);
|
||||
customTabActivityHelper = new CustomTabActivityHelper();
|
||||
customTabActivityHelper.setConnectionCallback(this);
|
||||
|
@ -283,8 +280,8 @@ public class MainActivity extends ThemedActivity
|
|||
BrowserFragment bf = new BrowserFragment();
|
||||
fm.beginTransaction().add(bf, fragmentTag).commit();
|
||||
return bf;
|
||||
case HashtagListFragment.TAG:
|
||||
HashtagListFragment hlf = new HashtagListFragment();
|
||||
case TagListFragment.TAG:
|
||||
TagListFragment hlf = new TagListFragment();
|
||||
fm.beginTransaction().add(hlf, fragmentTag).commit();
|
||||
return hlf;
|
||||
case AspectListFragment.TAG:
|
||||
|
@ -627,12 +624,12 @@ public class MainActivity extends ThemedActivity
|
|||
|
||||
if ((item = menu.findItem(R.id.action_notifications)) != null) {
|
||||
LayerDrawable icon = (LayerDrawable) item.getIcon();
|
||||
BadgeDrawable.setBadgeCount(this, icon, podUserProfile.getNotificationCount());
|
||||
BadgeDrawable.setBadgeCount(this, icon, diasporaUserProfile.getNotificationCount());
|
||||
}
|
||||
|
||||
if ((item = menu.findItem(R.id.action_conversations)) != null) {
|
||||
LayerDrawable icon = (LayerDrawable) item.getIcon();
|
||||
BadgeDrawable.setBadgeCount(this, icon, podUserProfile.getUnreadMessagesCount());
|
||||
BadgeDrawable.setBadgeCount(this, icon, diasporaUserProfile.getUnreadMessagesCount());
|
||||
}
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
@ -803,25 +800,17 @@ public class MainActivity extends ThemedActivity
|
|||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the profile name in the navigation slider
|
||||
*
|
||||
* @param name name
|
||||
*/
|
||||
@Override
|
||||
public void onUserProfileNameChanged(String name) {
|
||||
public void onUserProfileNameChanged(DiasporaUserProfile diasporaUserProfile, String name) {
|
||||
AppLog.i(this, "onUserProfileNameChanged()");
|
||||
// Update the profile name in the navigation slider
|
||||
navheaderTitle.setText(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the profile picture in the navigation slider
|
||||
*
|
||||
* @param avatarUrl url of the new profile pic
|
||||
*/
|
||||
@Override
|
||||
public void onUserProfileAvatarChanged(String avatarUrl) {
|
||||
public void onUserProfileAvatarChanged(DiasporaUserProfile diasporaUserProfile, String avatarUrl) {
|
||||
AppLog.i(this, "onUserProfileAvatarChanged()");
|
||||
// Update the profile picture in the navigation slider
|
||||
app.getAvatarImageLoader().startImageDownload(navheaderImage, avatarUrl);
|
||||
}
|
||||
|
||||
|
@ -916,27 +905,20 @@ public class MainActivity extends ThemedActivity
|
|||
Toast.makeText(this, "Not yet implemented.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Invalidate the top toolbar to update the notification counter
|
||||
*
|
||||
* @param notificationCount new notification count
|
||||
*/
|
||||
@Override
|
||||
public void onNotificationCountChanged(int notificationCount) {
|
||||
public void onNotificationCountChanged(DiasporaUserProfile diasporaUserProfile, int notificationCount) {
|
||||
AppLog.i(this, "onNotificationCountChanged()");
|
||||
// Count saved in PodUserProfile
|
||||
// Count saved in DiasporaUserProfile
|
||||
// Invalidate the top toolbar to update the unread messages counter
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
/**
|
||||
* Invalidate the top toolbar to update the unread messages counter
|
||||
*
|
||||
* @param unreadMessageCount new unread messages count
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void onUnreadMessageCountChanged(int unreadMessageCount) {
|
||||
public void onUnreadMessageCountChanged(DiasporaUserProfile diasporaUserProfile, int unreadMessageCount) {
|
||||
AppLog.i(this, "onUnreadMessageCountChanged()");
|
||||
// Count saved in PodUserProfile
|
||||
// Count saved in DiasporaUserProfile
|
||||
// Invalidate the top toolbar to update the unread messages counter
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
|
@ -986,7 +968,7 @@ public class MainActivity extends ThemedActivity
|
|||
break;
|
||||
|
||||
case R.id.nav_followed_tags: {
|
||||
showFragment(getFragment(HashtagListFragment.TAG));
|
||||
showFragment(getFragment(TagListFragment.TAG));
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -16,13 +16,12 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.activity;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.Snackbar;
|
||||
|
@ -43,16 +42,15 @@ import android.widget.TextView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod;
|
||||
import com.github.dfa.diaspora_android.task.GetPodsService;
|
||||
import com.github.dfa.diaspora_android.service.FetchPodsService;
|
||||
import com.github.dfa.diaspora_android.ui.PodSelectionDialog;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
@ -117,7 +115,7 @@ public class PodSelectionFragment extends ThemedFragment implements SearchView.O
|
|||
|
||||
}
|
||||
});
|
||||
LocalBroadcastManager.getInstance(getContext()).registerReceiver(podListReceiver, new IntentFilter(GetPodsService.MESSAGE_PODS_RECEIVED));
|
||||
LocalBroadcastManager.getInstance(getContext()).registerReceiver(podListReceiver, new IntentFilter(FetchPodsService.MESSAGE_PODS_RECEIVED));
|
||||
Helpers.showInfoIfUserNotConnectedToInternet(getContext(), listViewPod);
|
||||
}
|
||||
|
||||
|
@ -144,9 +142,9 @@ public class PodSelectionFragment extends ThemedFragment implements SearchView.O
|
|||
private final BroadcastReceiver podListReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.hasExtra(GetPodsService.EXTRA_PODLIST)) {
|
||||
if (intent.hasExtra(FetchPodsService.EXTRA_PODLIST)) {
|
||||
Bundle extras = intent.getExtras();
|
||||
DiasporaPodList newPods = (DiasporaPodList) extras.get(GetPodsService.EXTRA_PODLIST);
|
||||
DiasporaPodList newPods = (DiasporaPodList) extras.get(FetchPodsService.EXTRA_PODLIST);
|
||||
if (newPods != null && newPods.getPods().size() > 0) {
|
||||
try {
|
||||
podList.mergeWithNewerEntries(newPods);
|
||||
|
@ -168,7 +166,7 @@ public class PodSelectionFragment extends ThemedFragment implements SearchView.O
|
|||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
Intent i = new Intent(getContext(), GetPodsService.class);
|
||||
Intent i = new Intent(getContext(), FetchPodsService.class);
|
||||
getContext().startService(i);
|
||||
}
|
||||
|
||||
|
@ -222,7 +220,7 @@ public class PodSelectionFragment extends ThemedFragment implements SearchView.O
|
|||
switch (item.getItemId()) {
|
||||
case R.id.action_reload: {
|
||||
if (!Helpers.showInfoIfUserNotConnectedToInternet(getContext(), listViewPod)) {
|
||||
Intent i = new Intent(getContext(), GetPodsService.class);
|
||||
Intent i = new Intent(getContext(), FetchPodsService.class);
|
||||
getContext().startService(i);
|
||||
return true;
|
||||
}
|
|
@ -22,13 +22,14 @@ import android.widget.TextView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.fragment.ThemedPreferenceFragment;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ColorPalette;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.util.theming.ColorPalette;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.web.ProxyHandler;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
@ -257,7 +258,7 @@ public class SettingsActivity extends ThemedActivity {
|
|||
|
||||
//Inflate dialog layout
|
||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||
View dialogLayout = inflater.inflate(R.layout.color_picker__dialog, null);
|
||||
View dialogLayout = inflater.inflate(R.layout.ui__dialog__color_picker, null);
|
||||
final android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(context);
|
||||
builder.setView(dialogLayout);
|
||||
|
||||
|
@ -305,7 +306,7 @@ public class SettingsActivity extends ThemedActivity {
|
|||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
getActivity().getWindow().setStatusBarColor(ThemeHelper.getPrimaryDarkColor());
|
||||
}
|
||||
((ThemedActivity) getActivity()).applyColorToViews();
|
||||
((SettingsActivity) getActivity()).applyColorToViews();
|
||||
} else {
|
||||
appSettings.setAccentColorSettings(base.getColor(), shade.getColor());
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PorterDuff;
|
||||
|
@ -34,10 +34,10 @@ import android.widget.TextView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.listener.OnSomethingClickListener;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
|
||||
|
@ -51,9 +51,9 @@ import butterknife.ButterKnife;
|
|||
/**
|
||||
* Fragment that shows a list of the HashTags the user follows
|
||||
*/
|
||||
public class HashtagListFragment extends ThemedFragment implements OnSomethingClickListener<Object> {
|
||||
public class TagListFragment extends ThemedFragment implements OnSomethingClickListener<Object> {
|
||||
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.HashtagListFragment";
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.TagListFragment";
|
||||
|
||||
protected RecyclerView followedTagsRecyclerView;
|
||||
protected App app;
|
||||
|
@ -147,7 +147,7 @@ public class HashtagListFragment extends ThemedFragment implements OnSomethingCl
|
|||
@Override
|
||||
public FollowedTagsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.recycler_view__list_item, parent, false);
|
||||
.inflate(R.layout.recycler_list__list_item_with_fav, parent, false);
|
||||
return new ViewHolder(v);
|
||||
}
|
||||
|
||||
|
@ -158,7 +158,7 @@ public class HashtagListFragment extends ThemedFragment implements OnSomethingCl
|
|||
final String tag = followedTagsList[position];
|
||||
holder.title.setText(tag);
|
||||
if (position % 2 == 1) {
|
||||
holder.root.setBackgroundColor(Helpers.getColorFromRessource(c, R.color.md_grey_300));
|
||||
holder.root.setBackgroundColor(Helpers.getColorFromRessource(c, R.color.alternate_row_color));
|
||||
}
|
||||
|
||||
// Favourite (Star) Image
|
|
@ -19,25 +19,26 @@
|
|||
package com.github.dfa.diaspora_android.data;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class PodAspect {
|
||||
public class DiasporaAspect {
|
||||
public long id;
|
||||
public String name;
|
||||
public boolean selected;
|
||||
|
||||
public PodAspect(long id, String name, boolean selected) {
|
||||
public DiasporaAspect(long id, String name, boolean selected) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.selected = selected;
|
||||
}
|
||||
|
||||
|
||||
public PodAspect(String shareabletext) {
|
||||
public DiasporaAspect(String shareabletext) {
|
||||
// fromShareAbleText
|
||||
String[] str = shareabletext.split("%");
|
||||
selected = Integer.parseInt(str[0]) == 1;
|
||||
|
@ -45,7 +46,7 @@ public class PodAspect {
|
|||
name = shareabletext.substring(shareabletext.indexOf(str[1]) + str[1].length() + 1);
|
||||
}
|
||||
|
||||
public PodAspect(JSONObject json) throws JSONException {
|
||||
public DiasporaAspect(JSONObject json) throws JSONException {
|
||||
if (json.has("id")) {
|
||||
id = json.getLong("id");
|
||||
}
|
||||
|
@ -81,7 +82,7 @@ public class PodAspect {
|
|||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
return o instanceof PodAspect && ((PodAspect) o).id == id;
|
||||
return o instanceof DiasporaAspect && ((DiasporaAspect) o).id == id;
|
||||
}
|
||||
|
||||
public String toShareAbleText() {
|
|
@ -21,8 +21,9 @@ package com.github.dfa.diaspora_android.data;
|
|||
import android.os.Handler;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.listener.WebUserProfileChangedListener;
|
||||
import com.github.dfa.diaspora_android.listener.DiasporaUserProfileChangedListener;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
@ -32,47 +33,47 @@ import org.json.JSONObject;
|
|||
* User profile
|
||||
* Created by gsantner (https://gsantner.github.io/) on 24.03.16. Part of Diaspora for Android.
|
||||
*/
|
||||
public class PodUserProfile {
|
||||
private static final int MINIMUM_WEBUSERPROFILE_LOAD_TIMEDIFF = 5000;
|
||||
public class DiasporaUserProfile {
|
||||
private static final int MINIMUM_USERPROFILE_LOAD_TIMEDIFF = 5000;
|
||||
|
||||
private Handler callbackHandler;
|
||||
private WebUserProfileChangedListener listener;
|
||||
private DiasporaUserProfileChangedListener listener;
|
||||
private final App app;
|
||||
private final AppSettings appSettings;
|
||||
private JSONObject json;
|
||||
private long lastLoaded;
|
||||
private long userProfileLastLoadedTimestamp;
|
||||
private boolean isWebUserProfileLoaded;
|
||||
|
||||
private String avatarUrl;
|
||||
private String guid;
|
||||
private String name;
|
||||
private PodAspect[] podAspects;
|
||||
private DiasporaAspect[] aspects;
|
||||
private String[] followedTags;
|
||||
private int notificationCount;
|
||||
private int unreadMessagesCount;
|
||||
|
||||
|
||||
public PodUserProfile(App app) {
|
||||
public DiasporaUserProfile(App app) {
|
||||
this.app = app;
|
||||
appSettings = app.getSettings();
|
||||
|
||||
avatarUrl = appSettings.getAvatarUrl();
|
||||
guid = appSettings.getProfileId();
|
||||
name = appSettings.getName();
|
||||
podAspects = appSettings.getAspects();
|
||||
aspects = appSettings.getAspects();
|
||||
followedTags = appSettings.getFollowedTags();
|
||||
notificationCount = appSettings.getNotificationCount();
|
||||
unreadMessagesCount = appSettings.getUnreadMessageCount();
|
||||
}
|
||||
|
||||
public PodUserProfile(App app, Handler callbackHandler, WebUserProfileChangedListener listener) {
|
||||
public DiasporaUserProfile(App app, Handler callbackHandler, DiasporaUserProfileChangedListener listener) {
|
||||
this(app);
|
||||
this.listener = listener;
|
||||
this.callbackHandler = callbackHandler;
|
||||
}
|
||||
|
||||
public boolean isRefreshNeeded() {
|
||||
return (System.currentTimeMillis() - lastLoaded) >= MINIMUM_WEBUSERPROFILE_LOAD_TIMEDIFF;
|
||||
return (System.currentTimeMillis() - userProfileLastLoadedTimestamp) >= MINIMUM_USERPROFILE_LOAD_TIMEDIFF;
|
||||
}
|
||||
|
||||
public boolean isWebUserProfileLoaded() {
|
||||
|
@ -82,7 +83,7 @@ public class PodUserProfile {
|
|||
public boolean parseJson(String jsonStr) {
|
||||
try {
|
||||
json = new JSONObject(jsonStr);
|
||||
lastLoaded = System.currentTimeMillis();
|
||||
userProfileLastLoadedTimestamp = System.currentTimeMillis();
|
||||
|
||||
// Avatar
|
||||
if (json.has("avatar")) {
|
||||
|
@ -115,7 +116,7 @@ public class PodUserProfile {
|
|||
|
||||
// Aspect
|
||||
if (json.has("aspects") && loadAspects(json.getJSONArray("aspects"))) {
|
||||
appSettings.setPodAspects(podAspects);
|
||||
appSettings.setPodAspects(aspects);
|
||||
}
|
||||
|
||||
// Followed tags
|
||||
|
@ -129,7 +130,7 @@ public class PodUserProfile {
|
|||
AppLog.d(this, e.getMessage());
|
||||
isWebUserProfileLoaded = false;
|
||||
}
|
||||
lastLoaded = System.currentTimeMillis();
|
||||
userProfileLastLoadedTimestamp = System.currentTimeMillis();
|
||||
return isWebUserProfileLoaded;
|
||||
}
|
||||
|
||||
|
@ -157,8 +158,8 @@ public class PodUserProfile {
|
|||
return unreadMessagesCount;
|
||||
}
|
||||
|
||||
public PodAspect[] getAspects() {
|
||||
return podAspects;
|
||||
public DiasporaAspect[] getAspects() {
|
||||
return aspects;
|
||||
}
|
||||
|
||||
public String[] getFollowedTags() {
|
||||
|
@ -181,7 +182,7 @@ public class PodUserProfile {
|
|||
if (listener != null && callbackHandler != null) {
|
||||
callbackHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
listener.onUserProfileAvatarChanged(avatarUrl);
|
||||
listener.onUserProfileAvatarChanged(DiasporaUserProfile.this, avatarUrl);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -204,7 +205,7 @@ public class PodUserProfile {
|
|||
if (listener != null && callbackHandler != null) {
|
||||
callbackHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
listener.onUserProfileNameChanged(name);
|
||||
listener.onUserProfileNameChanged(DiasporaUserProfile.this, name);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -219,7 +220,7 @@ public class PodUserProfile {
|
|||
if (listener != null && callbackHandler != null) {
|
||||
callbackHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
listener.onNotificationCountChanged(notificationCount);
|
||||
listener.onNotificationCountChanged(DiasporaUserProfile.this, notificationCount);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -229,9 +230,9 @@ public class PodUserProfile {
|
|||
}
|
||||
|
||||
private boolean loadAspects(final JSONArray jsonAspects) throws JSONException {
|
||||
podAspects = new PodAspect[jsonAspects.length()];
|
||||
aspects = new DiasporaAspect[jsonAspects.length()];
|
||||
for (int i = 0; i < jsonAspects.length(); i++) {
|
||||
podAspects[i] = new PodAspect(jsonAspects.getJSONObject(i));
|
||||
aspects[i] = new DiasporaAspect(jsonAspects.getJSONObject(i));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -250,7 +251,7 @@ public class PodUserProfile {
|
|||
if (listener != null && callbackHandler != null) {
|
||||
callbackHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
listener.onUnreadMessageCountChanged(unreadMessagesCount);
|
||||
listener.onUnreadMessageCountChanged(DiasporaUserProfile.this, unreadMessagesCount);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -267,11 +268,11 @@ public class PodUserProfile {
|
|||
this.callbackHandler = callbackHandler;
|
||||
}
|
||||
|
||||
public WebUserProfileChangedListener getListener() {
|
||||
public DiasporaUserProfileChangedListener getListener() {
|
||||
return listener;
|
||||
}
|
||||
|
||||
public void setListener(WebUserProfileChangedListener listener) {
|
||||
public void setListener(DiasporaUserProfileChangedListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
This file is part of the Diaspora for Android.
|
||||
|
||||
Diaspora for Android 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Diaspora for Android 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 the Diaspora for Android.
|
||||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.listener;
|
||||
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
|
||||
/**
|
||||
* Created by gsantner (https://gsantner.github.io/) on 26.03.16.
|
||||
* Interface that needs to be implemented by classes that listen for Profile related changes
|
||||
*/
|
||||
public interface DiasporaUserProfileChangedListener {
|
||||
/**
|
||||
* Called when the DiasporaUserProfile name changed
|
||||
* @param diasporaUserProfile The profile
|
||||
* @param name The new name
|
||||
*/
|
||||
void onUserProfileNameChanged(DiasporaUserProfile diasporaUserProfile, String name);
|
||||
|
||||
/**
|
||||
* Called when the DiasporaUserProfile avatarUrl changed
|
||||
* @param diasporaUserProfile The profile
|
||||
* @param avatarUrl The new name
|
||||
*/
|
||||
void onUserProfileAvatarChanged(DiasporaUserProfile diasporaUserProfile, String avatarUrl);
|
||||
|
||||
/**
|
||||
* Called when the DiasporaUserProfile notificationCount changed
|
||||
* @param diasporaUserProfile The profile
|
||||
* @param notificationCount The new notificationCount
|
||||
*/
|
||||
void onNotificationCountChanged(DiasporaUserProfile diasporaUserProfile, int notificationCount);
|
||||
|
||||
/**
|
||||
* Called when the DiasporaUserProfile unreadMessageCount changed
|
||||
* @param diasporaUserProfile The profile
|
||||
* @param unreadMessageCount The new unreadMessageCount
|
||||
*/
|
||||
void onUnreadMessageCountChanged(DiasporaUserProfile diasporaUserProfile, int unreadMessageCount);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.listener;
|
||||
|
||||
import android.support.design.widget.AppBarLayout;
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
/*
|
||||
This file is part of the Diaspora for Android.
|
||||
|
||||
Diaspora for Android 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Diaspora for Android 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 the Diaspora for Android.
|
||||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.listener;
|
||||
|
||||
/**
|
||||
* Created by gsantner (https://gsantner.github.io/) on 26.03.16.
|
||||
* Interface that needs to be implemented by classes that listen for Profile related changes
|
||||
*/
|
||||
public interface WebUserProfileChangedListener {
|
||||
void onUserProfileNameChanged(String name);
|
||||
|
||||
void onUserProfileAvatarChanged(String avatarUrl);
|
||||
|
||||
void onNotificationCountChanged(int notificationCount);
|
||||
|
||||
void onUnreadMessageCountChanged(int unreadMessageCount);
|
||||
}
|
|
@ -29,11 +29,11 @@ import android.support.customtabs.CustomTabsIntent;
|
|||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.CustomTabHelpers.BrowserFallback;
|
||||
import com.github.dfa.diaspora_android.util.CustomTabHelpers.CustomTabActivityHelper;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.web.custom_tab.BrowserFallback;
|
||||
import com.github.dfa.diaspora_android.web.custom_tab.CustomTabActivityHelper;
|
||||
|
||||
/**
|
||||
* BroadcastReceiver that opens links in a Chrome CustomTab
|
||||
|
|
|
@ -25,8 +25,8 @@ import android.content.Intent;
|
|||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,15 +17,13 @@
|
|||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.github.dfa.diaspora_android.task.ImageDownloadTask;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class AvatarImageLoader {
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.task;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
|
@ -38,12 +38,12 @@ import javax.net.ssl.HttpsURLConnection;
|
|||
|
||||
import info.guardianproject.netcipher.NetCipher;
|
||||
|
||||
public class GetPodsService extends Service {
|
||||
public class FetchPodsService extends Service {
|
||||
public static final String EXTRA_PODLIST = "pods";
|
||||
public static final String MESSAGE_PODS_RECEIVED = "com.github.dfa.diaspora.podsreceived";
|
||||
public static final String PODDY_PODLIST_URL = "https://raw.githubusercontent.com/Diaspora-for-Android/diaspora-android-extras/master/podList/podlist.json";
|
||||
|
||||
public GetPodsService() {
|
||||
public FetchPodsService() {
|
||||
}
|
||||
|
||||
@Override
|
|
@ -18,14 +18,14 @@
|
|||
|
||||
This file is inspired from sourabhsoni.com/implementing-hashtags-in-android-application/
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.data;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.content.ContentProvider;
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
|
||||
public class HashtagProvider extends ContentProvider {
|
||||
public class HashtagContentProvider extends ContentProvider {
|
||||
|
||||
@Override
|
||||
public int delete(Uri arg0, String arg1, String[] arg2) {
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.task;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.task;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.webkit.CookieManager;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.data.PodUserProfile;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
|
||||
|
@ -99,7 +99,7 @@ public class ProfileFetchTask extends AsyncTask<Void, Void, Void> {
|
|||
|
||||
|
||||
if (extractedProfileData != null) {
|
||||
PodUserProfile profile = new PodUserProfile(app);
|
||||
DiasporaUserProfile profile = new DiasporaUserProfile(app);
|
||||
profile.parseJson(extractedProfileData);
|
||||
AppLog.d(this, "Extracted new_messages (service):" + profile.getUnreadMessagesCount());
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.task;
|
||||
package com.github.dfa.diaspora_android.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
|
@ -31,7 +31,7 @@ import android.graphics.drawable.LayerDrawable;
|
|||
import android.support.v4.content.ContextCompat;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
public class BadgeDrawable extends Drawable {
|
||||
// Source: http://mobikul.com/adding-badge-count-on-menu-items-like-cart-notification-etc/
|
||||
|
|
|
@ -36,7 +36,7 @@ import java.util.regex.Pattern;
|
|||
* TextView, that renders HTML with highlited and clickable links and hashtags.
|
||||
* Links are opened in a webbrowser.
|
||||
* Hashtags open the MainActivity, load the new-post site of the selected pod and insert the
|
||||
* hashtag into the post editor. See data/HashtagProvider.
|
||||
* hashtag into the post editor. See data/HashtagContentProvider.
|
||||
*/
|
||||
public class HtmlTextView extends TextView {
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import android.app.Dialog;
|
|||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.app.AppCompatDialogFragment;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
@ -18,12 +17,12 @@ import android.widget.TextView;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod.DiasporaPodUrl;
|
||||
import com.github.dfa.diaspora_android.fragment.ThemedAppCompatDialogFragment;
|
||||
import com.github.dfa.diaspora_android.util.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedAppCompatDialogFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.web.ProxyHandler;
|
||||
|
||||
import org.json.JSONException;
|
||||
|
||||
|
@ -38,7 +37,7 @@ import butterknife.OnItemSelected;
|
|||
* Created by gsantner (https://gsantner.github.io) on 06.10.16.
|
||||
*/
|
||||
public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.PodSelectionDialog";
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.ui.PodSelectionDialog";
|
||||
|
||||
public static interface PodSelectionDialogResultListener {
|
||||
void onPodSelectionDialogResult(DiasporaPod pod, boolean accepted);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.util.theming;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -30,7 +30,7 @@ import android.view.MenuInflater;
|
|||
|
||||
public abstract class CustomFragment extends Fragment {
|
||||
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.CustomFragment";
|
||||
public static final String TAG = "com.github.dfa.diaspora_android.ui.theme.CustomFragment";
|
||||
|
||||
/**
|
||||
* We have an optionsMenu
|
|
@ -17,7 +17,7 @@
|
|||
If not, see <http://www.gnu.org/licenses/>.
|
||||
This class is inspired by org.horasapps.LeafPic
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util.theming;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Color;
|
||||
|
@ -37,7 +37,7 @@ import android.widget.RadioGroup;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Singleton that can be used to color views
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
/**
|
||||
* Interface that allows setting Theme colors
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.activity;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager;
|
||||
|
@ -26,8 +26,7 @@ import android.support.v7.app.AppCompatActivity;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Activity that supports color schemes
|
|
@ -1,11 +1,10 @@
|
|||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatDialogFragment;
|
||||
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Themed DialogFragment
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.CheckBoxPreference;
|
||||
|
@ -7,9 +7,7 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Created by vanitas on 24.10.16.
|
||||
|
@ -17,14 +15,17 @@ import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
|||
|
||||
public class ThemedCheckBoxPreference extends CheckBoxPreference implements Themeable {
|
||||
protected View rootLayout;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedCheckBoxPreference(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedCheckBoxPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PorterDuff;
|
||||
|
@ -9,7 +9,7 @@ import android.view.View;
|
|||
import android.widget.ImageView;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
|
||||
/**
|
|
@ -16,11 +16,10 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Fragment that supports color schemes
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.PreferenceCategory;
|
||||
|
@ -7,8 +7,7 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* PreferenceCategory with a colored title
|
||||
|
@ -17,14 +16,17 @@ import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
|||
|
||||
public class ThemedPreferenceCategory extends PreferenceCategory implements Themeable {
|
||||
protected TextView titleTextView;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedPreferenceCategory(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedPreferenceCategory(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public ThemedPreferenceCategory(Context context, AttributeSet attrs,
|
||||
int defStyle) {
|
|
@ -1,4 +1,4 @@
|
|||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.os.Build;
|
||||
import android.preference.Preference;
|
||||
|
@ -7,8 +7,7 @@ import android.preference.PreferenceScreen;
|
|||
import android.view.Window;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* Created by vanitas on 24.10.16.
|
||||
|
@ -16,6 +15,7 @@ import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
|||
|
||||
public abstract class ThemedPreferenceFragment extends PreferenceFragment {
|
||||
public abstract void updateViewColors();
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
|
@ -1,12 +1,11 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* ThemedCheckBoxPreference with visibility icons instead of checkbox. TODO: Make more flexible?
|
|
@ -18,6 +18,12 @@
|
|||
*/
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
||||
/**
|
||||
* Created by gregor on 18.09.16.
|
||||
*/
|
||||
|
@ -86,4 +92,126 @@ public class AppLog {
|
|||
Log.v(getLogPrefix(source), _text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Class that saves logs eg. for later debugging.
|
||||
* TODO: Differentiate log types (error/debug/info...)
|
||||
*/
|
||||
public static class Log extends Observable {
|
||||
public static final int MAX_BUFFER_SIZE = 100;
|
||||
|
||||
public static Log instance;
|
||||
private AppSettings appSettings;
|
||||
private SimpleDateFormat dateFormat;
|
||||
private ArrayList<String> logBuffer;
|
||||
private ArrayList<Observer> observers;
|
||||
|
||||
private Log() {
|
||||
this(null);
|
||||
}
|
||||
|
||||
private Log(AppSettings appSettings) {
|
||||
if (appSettings != null) {
|
||||
//TODO: Store/Restore logBuffer between app starts
|
||||
logBuffer = new ArrayList<>();
|
||||
} else {
|
||||
logBuffer = new ArrayList<>();
|
||||
}
|
||||
dateFormat = new SimpleDateFormat("HH:mm:ss");
|
||||
observers = new ArrayList<>();
|
||||
}
|
||||
|
||||
public static Log getInstance() {
|
||||
if (instance == null) instance = new Log();
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static Log getInstance(AppSettings appSettings) {
|
||||
if (instance == null) instance = new Log(appSettings);
|
||||
return instance;
|
||||
}
|
||||
|
||||
private static String time() {
|
||||
return getInstance().dateFormat.format(new Date()) + ": ";
|
||||
}
|
||||
|
||||
public static void d(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.d(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void e(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.e(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void i(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.i(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void v(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.v(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void w(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.w(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void wtf(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.wtf(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public synchronized static ArrayList<String> getLogBufferArray() {
|
||||
return getInstance().logBuffer;
|
||||
}
|
||||
|
||||
public synchronized static String getLogBuffer() {
|
||||
String out = "";
|
||||
for (String s : getInstance().logBuffer) {
|
||||
out = out + s + "\n";
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
private void notifyLogBufferChanged() {
|
||||
if (observers == null) return;
|
||||
for (Observer o : observers) {
|
||||
if (o != null) {
|
||||
o.update(this, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized void addLogEntry(String msg) {
|
||||
logBuffer.add(time() + msg);
|
||||
while (logBuffer.size() > MAX_BUFFER_SIZE) {
|
||||
logBuffer.remove(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void addLogObserver(Observer observer) {
|
||||
getInstance().observers.add(observer);
|
||||
}
|
||||
|
||||
public static void removeLogObserver(Observer o) {
|
||||
getInstance().observers.remove(o);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
along with the Diaspora for Android.
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.data;
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
|
@ -21,7 +21,8 @@ import android.content.SharedPreferences;
|
|||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod.DiasporaPodUrl;
|
||||
import com.github.dfa.diaspora_android.util.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaAspect;
|
||||
import com.github.dfa.diaspora_android.web.ProxyHandler;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
@ -195,15 +196,15 @@ public class AppSettings {
|
|||
return !getString(prefPod, R.string.pref_key__current_pod_0, "").equals("");
|
||||
}
|
||||
|
||||
public void setPodAspects(PodAspect[] aspects) {
|
||||
public void setPodAspects(DiasporaAspect[] aspects) {
|
||||
setStringArray(prefPod, R.string.pref_key__podprofile_aspects, aspects);
|
||||
}
|
||||
|
||||
public PodAspect[] getAspects() {
|
||||
public DiasporaAspect[] getAspects() {
|
||||
String[] s = getStringArray(prefPod, R.string.pref_key__podprofile_aspects);
|
||||
PodAspect[] aspects = new PodAspect[s.length];
|
||||
DiasporaAspect[] aspects = new DiasporaAspect[s.length];
|
||||
for (int i = 0; i < aspects.length; i++) {
|
||||
aspects[i] = new PodAspect(s[i]);
|
||||
aspects[i] = new DiasporaAspect(s[i]);
|
||||
}
|
||||
return aspects;
|
||||
}
|
|
@ -20,9 +20,8 @@ package com.github.dfa.diaspora_android.util;
|
|||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaPodList.DiasporaPod;
|
||||
import com.github.dfa.diaspora_android.data.PodAspect;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaAspect;
|
||||
|
||||
/**
|
||||
* Helper class that provides easy access to specific urls related to diaspora
|
||||
|
@ -315,7 +314,7 @@ public class DiasporaUrlHelper {
|
|||
url = url.replace(getPodUrl() + "/aspects?a_ids[]=", "").split(",")[0];
|
||||
try {
|
||||
int id = Integer.parseInt(url);
|
||||
for (PodAspect aspect : app.getPodUserProfile().getAspects()) {
|
||||
for (DiasporaAspect aspect : app.getDiasporaUserProfile().getAspects()) {
|
||||
if (aspect.id == id) {
|
||||
return aspect.name;
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import android.support.design.widget.Snackbar;
|
|||
import android.view.View;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.web.WebHelper;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
|
|
|
@ -1,149 +0,0 @@
|
|||
/*
|
||||
This file is part of the Diaspora for Android.
|
||||
|
||||
Diaspora for Android 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 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Diaspora for Android 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 the Diaspora for Android.
|
||||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
||||
/**
|
||||
* Class that saves logs eg. for later debugging.
|
||||
* TODO: Differentiate log types (error/debug/info...)
|
||||
* Created by vanitas on 09.09.16.
|
||||
*/
|
||||
public class Log extends Observable {
|
||||
public static final int MAX_BUFFER_SIZE = 100;
|
||||
|
||||
public static Log instance;
|
||||
private AppSettings appSettings;
|
||||
private SimpleDateFormat dateFormat;
|
||||
private ArrayList<String> logBuffer;
|
||||
private ArrayList<Observer> observers;
|
||||
|
||||
private Log() {
|
||||
this(null);
|
||||
}
|
||||
|
||||
private Log(AppSettings appSettings) {
|
||||
if (appSettings != null) {
|
||||
//TODO: Store/Restore logBuffer between app starts
|
||||
logBuffer = new ArrayList<>();
|
||||
} else {
|
||||
logBuffer = new ArrayList<>();
|
||||
}
|
||||
dateFormat = new SimpleDateFormat("HH:mm:ss");
|
||||
observers = new ArrayList<>();
|
||||
}
|
||||
|
||||
public static Log getInstance() {
|
||||
if (instance == null) instance = new Log();
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static Log getInstance(AppSettings appSettings) {
|
||||
if (instance == null) instance = new Log(appSettings);
|
||||
return instance;
|
||||
}
|
||||
|
||||
private static String time() {
|
||||
return getInstance().dateFormat.format(new Date()) + ": ";
|
||||
}
|
||||
|
||||
public static void d(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.d(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void e(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.e(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void i(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.i(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void v(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.v(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void w(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.w(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public static void wtf(String tag, String msg) {
|
||||
Log l = getInstance();
|
||||
android.util.Log.wtf(tag, msg);
|
||||
l.addLogEntry(msg);
|
||||
l.notifyLogBufferChanged();
|
||||
}
|
||||
|
||||
public synchronized static ArrayList<String> getLogBufferArray() {
|
||||
return getInstance().logBuffer;
|
||||
}
|
||||
|
||||
public synchronized static String getLogBuffer() {
|
||||
String out = "";
|
||||
for (String s : getInstance().logBuffer) {
|
||||
out = out + s + "\n";
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
private void notifyLogBufferChanged() {
|
||||
if (observers == null) return;
|
||||
for (Observer o : observers) {
|
||||
if (o != null) {
|
||||
o.update(this, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized void addLogEntry(String msg) {
|
||||
logBuffer.add(time() + msg);
|
||||
while (logBuffer.size() > MAX_BUFFER_SIZE) {
|
||||
logBuffer.remove(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void addLogObserver(Observer observer) {
|
||||
getInstance().observers.add(observer);
|
||||
}
|
||||
|
||||
public static void removeLogObserver(Observer o) {
|
||||
getInstance().observers.remove(o);
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.fragment;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.DialogInterface;
|
||||
|
@ -40,13 +40,10 @@ import android.widget.ProgressBar;
|
|||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.ui.ContextMenuWebView;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.ProxyHandler;
|
||||
import com.github.dfa.diaspora_android.util.theming.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.webview.CustomWebViewClient;
|
||||
import com.github.dfa.diaspora_android.webview.ProgressBarWebChromeClient;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
|
@ -39,7 +39,7 @@ import android.widget.Toast;
|
|||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.task.ImageDownloadTask;
|
||||
import com.github.dfa.diaspora_android.service.ImageDownloadTask;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.webview;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
|
@ -16,13 +16,12 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.webview;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.webkit.WebView;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.WebHelper;
|
||||
|
||||
/**
|
||||
* Created by vanitas on 26.09.16.
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.webview;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.webkit.ValueCallback;
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.github.dfa.diaspora_android.ui;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.view.MotionEventCompat;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.webview;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.view.View;
|
||||
import android.webkit.WebChromeClient;
|
|
@ -16,14 +16,15 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.StrictMode;
|
||||
import android.webkit.WebView;
|
||||
|
||||
import com.github.dfa.diaspora_android.activity.MainActivity;
|
||||
import com.github.dfa.diaspora_android.data.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.github.dfa.diaspora_android.util;
|
||||
package com.github.dfa.diaspora_android.web;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util.CustomTabHelpers;
|
||||
package com.github.dfa.diaspora_android.web.custom_tab;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util.CustomTabHelpers;
|
||||
package com.github.dfa.diaspora_android.web.custom_tab;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.github.dfa.diaspora_android.util.CustomTabHelpers;
|
||||
package com.github.dfa.diaspora_android.web.custom_tab;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 929 B |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
@ -3,7 +3,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ContextMenuWebView
|
||||
<com.github.dfa.diaspora_android.web.ContextMenuWebView
|
||||
android:id="@+id/webView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/recycler_view__list_item__root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
|
@ -7,32 +7,31 @@
|
|||
<item
|
||||
android:id="@+id/action_search"
|
||||
android:icon="@drawable/ic_search_white_48px"
|
||||
app:showAsAction="always"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/action_search_by_tags_or_persons" />
|
||||
android:title="@string/action_search_by_tags_or_persons"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_compose"
|
||||
android:icon="@drawable/ic_mode_edit_white_48px"
|
||||
app:showAsAction="always"
|
||||
android:orderInCategory="200"
|
||||
android:title="@string/action_compose_new_post" />
|
||||
android:title="@string/action_compose_new_post"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<!-- Keep right most -->
|
||||
<item
|
||||
android:id="@+id/action_go_to_top"
|
||||
android:icon="@drawable/ic_arrow_upward_white_48px"
|
||||
app:showAsAction="always"
|
||||
android:orderInCategory="400"
|
||||
android:title="@string/action_go_to_top" />
|
||||
android:title="@string/action_go_to_top"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<!-- overflow menu -->
|
||||
|
||||
<item
|
||||
android:id="@+id/action_exit"
|
||||
app:showAsAction="never"
|
||||
android:orderInCategory="600"
|
||||
android:title="@string/action_exit_app"
|
||||
/>
|
||||
app:showAsAction="never" />
|
||||
|
||||
</menu>
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<group android:checkableBehavior="none" android:id="@+id/nav_group__pod">
|
||||
<group
|
||||
android:id="@+id/nav_group__pod"
|
||||
android:checkableBehavior="none">
|
||||
<item
|
||||
android:id="@+id/nav_stream"
|
||||
android:icon="@drawable/ic_stream"
|
||||
|
|
|
@ -4,13 +4,19 @@
|
|||
|
||||
<item
|
||||
android:icon="@drawable/ic_share_white_48px"
|
||||
app:showAsAction="always"
|
||||
android:orderInCategory="300"
|
||||
android:title="@string/action_share_dotdotdot">
|
||||
android:title="@string/action_share_dotdotdot"
|
||||
app:showAsAction="always">
|
||||
<menu>
|
||||
<item android:id="@+id/action_share_screenshot" android:title="@string/share__share_screenshot"/>
|
||||
<item android:id="@+id/action_take_screenshot" android:title="@string/share__take_screenshot"/>
|
||||
<item android:id="@+id/action_share_link" android:title="@string/share__share_link_as_text"/>
|
||||
<item
|
||||
android:id="@+id/action_share_screenshot"
|
||||
android:title="@string/share__share_screenshot" />
|
||||
<item
|
||||
android:id="@+id/action_take_screenshot"
|
||||
android:title="@string/share__take_screenshot" />
|
||||
<item
|
||||
android:id="@+id/action_share_link"
|
||||
android:title="@string/share__share_link_as_text" />
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
<item
|
||||
android:id="@+id/action_reload"
|
||||
android:icon="@drawable/ic_refresh_white_48px"
|
||||
app:showAsAction="always"
|
||||
android:orderInCategory="1000"
|
||||
android:title="@string/reload"/>
|
||||
android:title="@string/reload"
|
||||
app:showAsAction="always" />
|
||||
|
||||
</menu>
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"pods": [
|
||||
{
|
||||
"active6": 12442,
|
||||
"active6": 12476,
|
||||
"score": 20,
|
||||
"podUrls": [
|
||||
{"host": "joindiaspora.com"},
|
||||
|
@ -16,7 +16,7 @@
|
|||
"id": 38077
|
||||
},
|
||||
{
|
||||
"active6": 7170,
|
||||
"active6": 7155,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.geraspora.de"}],
|
||||
"name": "Geraspora",
|
||||
|
@ -24,7 +24,7 @@
|
|||
"id": 24783
|
||||
},
|
||||
{
|
||||
"active6": 3726,
|
||||
"active6": 3723,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasp.org"}],
|
||||
"name": "diasporg*",
|
||||
|
@ -32,7 +32,7 @@
|
|||
"id": 12688
|
||||
},
|
||||
{
|
||||
"active6": 10298,
|
||||
"active6": 10321,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "framasphere.org"}],
|
||||
"name": "Framasphere",
|
||||
|
@ -48,7 +48,7 @@
|
|||
"id": 17343
|
||||
},
|
||||
{
|
||||
"active6": 853,
|
||||
"active6": 854,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "despora.de"}],
|
||||
"name": "Despora*",
|
||||
|
@ -95,7 +95,7 @@
|
|||
"id": 38327
|
||||
},
|
||||
{
|
||||
"active6": 47,
|
||||
"active6": 48,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "canfly.org"}],
|
||||
"name": "canfly.org",
|
||||
|
@ -119,7 +119,7 @@
|
|||
"id": 46568
|
||||
},
|
||||
{
|
||||
"active6": 72,
|
||||
"active6": 73,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "d.consumium.org"}],
|
||||
"name": "d.consumium.org",
|
||||
|
@ -199,7 +199,7 @@
|
|||
"id": 4343
|
||||
},
|
||||
{
|
||||
"active6": 196,
|
||||
"active6": 179,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasp.nl"}],
|
||||
"name": "diasp.nl",
|
||||
|
@ -207,7 +207,7 @@
|
|||
"id": 33262
|
||||
},
|
||||
{
|
||||
"active6": 185,
|
||||
"active6": 177,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diaspod.de"}],
|
||||
"name": "diaspod.de",
|
||||
|
@ -375,7 +375,7 @@
|
|||
"id": 9863
|
||||
},
|
||||
{
|
||||
"active6": 257,
|
||||
"active6": 256,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diaspora.permutationsofchaos.com"}],
|
||||
"name": "permutationsofchaos.com",
|
||||
|
@ -479,7 +479,7 @@
|
|||
"id": 39183
|
||||
},
|
||||
{
|
||||
"active6": 36,
|
||||
"active6": 37,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diaspora.subsignal.org"}],
|
||||
"name": "subsignal.org",
|
||||
|
@ -495,7 +495,7 @@
|
|||
"id": 46672
|
||||
},
|
||||
{
|
||||
"active6": 35,
|
||||
"active6": 37,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diaspora.u4u.org"}],
|
||||
"name": "u4u.org",
|
||||
|
@ -535,7 +535,7 @@
|
|||
"id": 27412
|
||||
},
|
||||
{
|
||||
"active6": 1169,
|
||||
"active6": 1168,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasporabr.com.br"}],
|
||||
"name": "diasporabr.com.br",
|
||||
|
@ -543,7 +543,7 @@
|
|||
"id": 18248
|
||||
},
|
||||
{
|
||||
"active6": 365,
|
||||
"active6": 364,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasporabrazil.org"}],
|
||||
"name": "diasporabrazil.org",
|
||||
|
@ -559,8 +559,8 @@
|
|||
"id": 27962
|
||||
},
|
||||
{
|
||||
"active6": 0,
|
||||
"score": 0,
|
||||
"active6": 7,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasporapr.tk"}],
|
||||
"name": "diasporapr.tk",
|
||||
"mainLangs": [],
|
||||
|
@ -575,7 +575,7 @@
|
|||
"id": 46740
|
||||
},
|
||||
{
|
||||
"active6": 29,
|
||||
"active6": 30,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diasporing.ch"}],
|
||||
"name": "Diasporing.ch",
|
||||
|
@ -639,7 +639,7 @@
|
|||
"id": 41690
|
||||
},
|
||||
{
|
||||
"active6": 168,
|
||||
"active6": 169,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "flokk.no"}],
|
||||
"name": "flokk.no",
|
||||
|
@ -671,7 +671,7 @@
|
|||
"id": 13758
|
||||
},
|
||||
{
|
||||
"active6": 73,
|
||||
"active6": 72,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "idoru.pl"}],
|
||||
"name": "idoru.pl",
|
||||
|
@ -727,7 +727,7 @@
|
|||
"id": 32393
|
||||
},
|
||||
{
|
||||
"active6": 140,
|
||||
"active6": 139,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "liberdade.digital"}],
|
||||
"name": "liberdade.digital",
|
||||
|
@ -775,7 +775,7 @@
|
|||
"id": 16366
|
||||
},
|
||||
{
|
||||
"active6": 616,
|
||||
"active6": 614,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "mondiaspora.net"}],
|
||||
"name": "mondiaspora.net",
|
||||
|
@ -959,7 +959,7 @@
|
|||
"id": 36615
|
||||
},
|
||||
{
|
||||
"active6": 57,
|
||||
"active6": 56,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.hashtagueule.fr"}],
|
||||
"name": "hashtagueule.fr",
|
||||
|
@ -1031,7 +1031,7 @@
|
|||
"id": 9248
|
||||
},
|
||||
{
|
||||
"active6": 98,
|
||||
"active6": 99,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.nomorestars.com"}],
|
||||
"name": "nomorestars.com",
|
||||
|
@ -1039,7 +1039,7 @@
|
|||
"id": 31958
|
||||
},
|
||||
{
|
||||
"active6": 404,
|
||||
"active6": 405,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.orkz.net"}],
|
||||
"name": "orkz.net",
|
||||
|
@ -1048,7 +1048,7 @@
|
|||
},
|
||||
{
|
||||
"active6": 37,
|
||||
"score": 20,
|
||||
"score": -1,
|
||||
"podUrls": [{"host": "pod.ponk.pink"}],
|
||||
"name": "ponk.pink",
|
||||
"mainLangs": [],
|
||||
|
@ -1063,8 +1063,8 @@
|
|||
"id": 21338
|
||||
},
|
||||
{
|
||||
"active6": 86,
|
||||
"score": 20,
|
||||
"active6": 85,
|
||||
"score": 11,
|
||||
"podUrls": [{"host": "pod.psynet.su"}],
|
||||
"name": "psynet.su",
|
||||
"mainLangs": [],
|
||||
|
@ -1135,7 +1135,7 @@
|
|||
"id": 33181
|
||||
},
|
||||
{
|
||||
"active6": 73,
|
||||
"active6": 74,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.tchncs.de"}],
|
||||
"name": "tchncs.de",
|
||||
|
@ -1175,7 +1175,7 @@
|
|||
"id": 16270
|
||||
},
|
||||
{
|
||||
"active6": 386,
|
||||
"active6": 392,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "poddery.com"}],
|
||||
"name": "poddery.com",
|
||||
|
@ -1215,7 +1215,7 @@
|
|||
"id": 41788
|
||||
},
|
||||
{
|
||||
"active6": 100,
|
||||
"active6": 101,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "ruhrspora.de"}],
|
||||
"name": "ruhrspora.de",
|
||||
|
@ -1263,7 +1263,7 @@
|
|||
"id": 37517
|
||||
},
|
||||
{
|
||||
"active6": 84,
|
||||
"active6": 85,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "social.elaon.de"}],
|
||||
"name": "elaon.de",
|
||||
|
@ -1319,7 +1319,7 @@
|
|||
"id": 29359
|
||||
},
|
||||
{
|
||||
"active6": 39,
|
||||
"active6": 37,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "sysad.org"}],
|
||||
"name": "sysad.org",
|
||||
|
@ -1335,7 +1335,7 @@
|
|||
"id": 5276
|
||||
},
|
||||
{
|
||||
"active6": 3982,
|
||||
"active6": 3964,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "therealtalk.org"}],
|
||||
"name": "therealtalk.org",
|
||||
|
@ -1439,7 +1439,7 @@
|
|||
"id": 33317
|
||||
},
|
||||
{
|
||||
"active6": 11,
|
||||
"active6": 14,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "diaspora.zone"}],
|
||||
"name": "zone",
|
||||
|
@ -1447,7 +1447,7 @@
|
|||
"id": 41976
|
||||
},
|
||||
{
|
||||
"active6": 1,
|
||||
"active6": 2,
|
||||
"score": 20,
|
||||
"podUrls": [{"host": "pod.userzap.de"}],
|
||||
"name": "userzap.de",
|
||||
|
@ -1455,5 +1455,5 @@
|
|||
"id": 12816
|
||||
}
|
||||
],
|
||||
"timestamp": 1477430185319
|
||||
"timestamp": 1477491769316
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<string name="pref_cat__visuals">Vormgeving</string>
|
||||
<string name="pref_cat__network">Netwerk</string>
|
||||
<string name="pref_cat__pod_settings">Pod-instellingen</string>
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<string name="pref_title__sub_nav_slider">Navigatie Slider</string>
|
||||
<string name="pref_cat__visibility_nav_items">Item Zichtbaarheid</string>
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<string name="pref_title__font_size">Lettergrootte</string>
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<string name="pref_title__load_images">Afbeeldingen laden</string>
|
||||
<string name="pref_desc__load_images">Afbeelding laden uitschakelen om mobiele data te besparen</string>
|
||||
<!-- Proxy -->
|
||||
<string name="pref_title__proxy_enabled">Proxy inschakelen</string>
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<string name="pref_title__personal_settings">Persoonlijke instellingen</string>
|
||||
<string name="pref_desc__manage_contacts">Uw lijst met contactpersonen beheren</string>
|
||||
<string name="pref_title__manage_tags">Beheren van Hashtags</string>
|
||||
<string name="pref_desc__manage_tags">Toevoegen en verwijderen van de hashtags die u volgt</string>
|
||||
<string name="pref_title__change_account">Account wijzigen</string>
|
||||
<string name="pref_desc__change_account">Lokale sessiegegevens wissen en schakel over naar een andere Diaspora pod/account</string>
|
||||
<string name="pref_warning__change_account">Dit zal alle cookies en sessiegegevens wissen. Wilt u echt uw account wijzigen?</string>
|
||||
<string name="pref_title__clear_cache">Cache wissen</string>
|
||||
<string name="pref_desc__clear_cache">WebView-cache leegmaken</string>
|
||||
<string name="pref_desc__intellihide_toolbars">Boven- en onderkant werkbalken automatisch verbergen tijdens het scrollen</string>
|
||||
<string name="pref_title__intellihide_toolbars">Werkbalken slim wegwerken</string>
|
||||
<string name="pref_title__append_shared_via_app">Gedeeld-via-aankondiging toevoegen</string>
|
||||
<string name="pref_desc__append_shared_via_app">Een verwijzing naar dit app (\"gedeeld door…\") toevoegen aan gedeelde teksten</string>
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,64 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<string name="shared_by_diaspora_android">*[gedeeld door #DiasporaForAndroid]*</string>
|
||||
<!-- Application -->
|
||||
<string name="reload">Opnieuw Laden</string>
|
||||
<string name="new_notifications">Ongelezen bericht. Wilt u het lezen?</string>
|
||||
<!-- Common Words -->
|
||||
<string name="settings">Instellingen</string>
|
||||
<string name="notifications">Meldingen</string>
|
||||
<string name="conversations">Gesprekken</string>
|
||||
<string name="stream">Stream</string>
|
||||
<string name="profile">Profiel</string>
|
||||
<string name="aspects">Aspecten</string>
|
||||
<string name="activities">Activiteiten</string>
|
||||
<string name="liked">Leuk gevonden</string>
|
||||
<string name="commented">Gereageerd</string>
|
||||
<string name="mentions">Vermeldingen</string>
|
||||
<string name="public_">Openbaar</string>
|
||||
<string name="search">Zoeken</string>
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<string name="title_activity_pods">Selecteer Pod</string>
|
||||
<string name="filter_hint">Voer pod domein</string>
|
||||
<string name="confirm_url">Bevestigen pod url</string>
|
||||
<string name="podlist_source_note">Opmerking: De podlijst is gevuld met beveiligde pods vermeld op https://podupti.me. U kunt in het bewerk veld elke pod invullen die niet in de lijst staat.</string>
|
||||
<string name="valid_pod">Voer een geldige domeinnaam in</string>
|
||||
<string name="podlist_error">Fout: Kan niet de podlijst ophalen!</string>
|
||||
<string name="no_internet">Sorry, u moet verbinding met internet hebben om verder te gaan</string>
|
||||
<string name="confirmation">Bevestiging</string>
|
||||
<string name="confirm_pod">Wilt u echt \nhttps://%1$s\n als uw Diaspora pod gebruiken?</string>
|
||||
<string name="confirm_exit">Wilt u afsluiten?</string>
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<string name="nav_followed_tags">Gevolgde Tags</string>
|
||||
<string name="nav_public_activities">Publieke activiteiten</string>
|
||||
<string name="share__share_link_as_text">Link delen als tekst</string>
|
||||
<string name="share__share_screenshot">Screenshot van de webpagina delen</string>
|
||||
<string name="share__take_screenshot">Neem screenshot van de webpagina</string>
|
||||
<string name="share__toast_saved_image_to_location">Afbeelding opslaan</string>
|
||||
<string name="share__toast_screenshot">Screenshot oplaan als:</string>
|
||||
<string name="share__toast_link_address_copied">Link adres gekopieerd…</string>
|
||||
<string name="new_post">Nieuw Bericht</string>
|
||||
<string name="action_go_to_top">Terug naar boven</string>
|
||||
<string name="action_search_by_tags_or_persons">Zoeken op tags of personen</string>
|
||||
<string name="action_exit_app">App afsluiten</string>
|
||||
<string name="action_toggle_desktop_page">Desktop weergave in-/uitschakelen</string>
|
||||
<string name="action_share_dotdotdot">Delen…</string>
|
||||
<string name="search_alert_tag">viaTags</string>
|
||||
<string name="search_alert_people">via mensen</string>
|
||||
<string name="search_alert_bypeople_validate_needsomedata">Voeg een naam toe</string>
|
||||
<string name="context_menu_share_link">Deel adreslink</string>
|
||||
<string name="context_menu_save_image">Afbeelding opslaan</string>
|
||||
<string name="context_menu_share_image">Deel afbeelding</string>
|
||||
<string name="context_menu_open_external_browser">Geopend in externe browser…</string>
|
||||
<string name="context_menu_copy_link">Link-adres kopiëren naar Klembord</string>
|
||||
<!-- More from MainActivity -->
|
||||
<string name="toast_set_proxy_failed">Waarschuwing: Kan niet netwerk proxy instellen…</string>
|
||||
<string name="unable_to_load_image">Niet in staat om afbeelding te laden</string>
|
||||
<string name="all_tags">Alle tags</string>
|
||||
<!-- Permissions -->
|
||||
<string name="permission_denied">Toestemming geweigerd.</string>
|
||||
<string name="permission_granted_try_again">Toestemming verleend. Probeer het opnieuw.</string>
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- License & help (large amount of text) -->
|
||||
<!-- About (large amount of text) -->
|
||||
<!-- Lorem ipsum -->
|
||||
</resources>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- Key Names (Untranslatable) -->
|
||||
<!-- Themes -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- PodProfile -->
|
||||
<!-- More -->
|
||||
<!-- Category Titles -->
|
||||
<!-- Visuals -->
|
||||
<!-- Navigiation Slider -->
|
||||
<!-- Themes -->
|
||||
<!-- Notifications dropdown -->
|
||||
<!-- Font size -->
|
||||
<!-- prefix 's' is needed to make this a string array. Otherwise ListPreference would crash -->
|
||||
<!-- Load images -->
|
||||
<!-- Proxy -->
|
||||
<!-- Chrome custom tabs -->
|
||||
<!-- Diaspora Settings -->
|
||||
<!-- More -->
|
||||
<!-- Recently added - Please move to right section-->
|
||||
<!-- Sorry -->
|
||||
</resources>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<resources>
|
||||
<!-- App - AppName specific -->
|
||||
<!-- Application -->
|
||||
<!-- Common Words -->
|
||||
<!-- Notifications dropdown menu -->
|
||||
<!-- Pod Activity -->
|
||||
<!-- Drawer, Menu, Toolbar, ContextMenu -->
|
||||
<!-- More from MainActivity -->
|
||||
<!-- Permissions -->
|
||||
</resources>
|
|
@ -17,9 +17,12 @@
|
|||
|
||||
<color name="white">#ffffff</color>
|
||||
<color name="black">#000000</color>
|
||||
<color name="actvitiy_white">#eeeeee</color>
|
||||
<color name="transparent_black">#c4000000</color>
|
||||
<color name="alternate_row_color">@color/md_grey_200</color>
|
||||
|
||||
<!-- Taken from org.horaapps.leafpic -->
|
||||
<!--Accent Color Collection-->
|
||||
<!-- Accent Color Collection
|
||||
Taken from org.horaapps.leafpic -->
|
||||
<color name="accent_red">#f44336</color>
|
||||
<color name="accent_pink">#e91e63</color>
|
||||
<color name="accent_purple">#9c27b0</color>
|
||||
|
@ -37,7 +40,14 @@
|
|||
<color name="accent_grey">#9e9e9e</color>
|
||||
<color name="accent_black">#000000</color>
|
||||
|
||||
<!--MATERIAL COLORS-->
|
||||
<!--
|
||||
███╗ ███╗ █████╗ ████████╗███████╗██████╗ ██╗ █████╗ ██╗
|
||||
████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗██║██╔══██╗██║
|
||||
██╔████╔██║███████║ ██║ █████╗ ██████╔╝██║███████║██║
|
||||
██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██╔══██╗██║██╔══██║██║
|
||||
██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██║ ██║██║██║ ██║███████╗
|
||||
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚══════╝
|
||||
-->
|
||||
<color name="md_black_1000">#000000</color>
|
||||
|
||||
<color name="md_light_primary_icon">#8A000000</color>
|
||||
|
@ -133,7 +143,6 @@
|
|||
<color name="md_cyan_A700">#00B8D4</color>
|
||||
|
||||
|
||||
|
||||
<color name="md_deep_orange_100">#FFCCBC</color>
|
||||
<color name="md_deep_orange_200">#FFAB91</color>
|
||||
<color name="md_deep_orange_300">#FF8A65</color>
|
||||
|
@ -342,6 +351,4 @@
|
|||
<color name="md_yellow_A200">#FFFF00</color>
|
||||
<color name="md_yellow_A400">#FFEA00</color>
|
||||
<color name="md_yellow_A700">#FFD600</color>
|
||||
|
||||
<color name="transparent_black">#c4000000</color>
|
||||
</resources>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Appearance -->
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__appearance"
|
||||
android:title="@string/pref_cat__visuals">
|
||||
|
||||
|
@ -23,34 +23,34 @@
|
|||
android:summary="%s"
|
||||
android:title="@string/pref_title__font_size"/>
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__intellihide_toolbars"
|
||||
android:summary="@string/pref_desc__intellihide_toolbars"
|
||||
android:title="@string/pref_title__intellihide_toolbars"/>
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__extended_notifications"
|
||||
android:summary="@string/pref_desc__extended_notifications"
|
||||
android:title="@string/pref_title__extended_notifications"/>
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__append_shared_via_app"
|
||||
android:summary="@string/pref_desc__append_shared_via_app"
|
||||
android:title="@string/pref_title__append_shared_via_app"/>
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__chrome_custom_tabs_enabled"
|
||||
android:summary="@string/pref_desc__chrome_custom_tabs_enabled"
|
||||
android:title="@string/pref_title__chrome_custom_tabs_enabled"/>
|
||||
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
|
||||
<!-- Diaspora Pod Settings -->
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__pod_settings"
|
||||
android:title="@string/pref_cat__pod_settings">
|
||||
<Preference
|
||||
|
@ -72,13 +72,13 @@
|
|||
android:key="@string/pref_key__change_account"
|
||||
android:summary="@string/pref_desc__change_account"
|
||||
android:title="@string/pref_title__change_account"/>
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
|
||||
<!-- Networking -->
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__network"
|
||||
android:title="@string/pref_cat__network">
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__load_images"
|
||||
android:summary="@string/pref_desc__load_images"
|
||||
|
@ -94,10 +94,10 @@
|
|||
android:summary="@string/pref_desc__sub_proxy"
|
||||
android:title="@string/pref_title__sub_proxy" />
|
||||
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
|
||||
<!-- More -->
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__more"
|
||||
android:title="@string/pref_cat__more">
|
||||
|
||||
|
@ -106,5 +106,5 @@
|
|||
android:summary="@string/pref_desc__sub_logging"
|
||||
android:title="@string/pref_title__sub_logging" />
|
||||
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
</PreferenceScreen>
|
|
@ -1,16 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__debugging"
|
||||
android:title="@string/pref_title__sub_logging">
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__logging_enabled"
|
||||
android:title="@string/pref_title__logging_enabled"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__logging_spam_enabled"
|
||||
android:title="@string/pref_title__logging_spam_enabled"/>
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
</PreferenceScreen>
|
|
@ -1,54 +1,54 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__visibility_nav"
|
||||
android:title="@string/pref_cat__visibility_nav_items">
|
||||
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__profile"
|
||||
android:title="@string/nav_profile"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__followed_tags"
|
||||
android:title="@string/nav_followed_tags"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__aspects"
|
||||
android:title="@string/nav_aspects"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__visibility_nav__contacts"
|
||||
android:title="@string/nav_contacts" />
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__visibility_nav__activities"
|
||||
android:title="@string/nav_activities"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__liked"
|
||||
android:title="@string/nav_liked"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__commented"
|
||||
android:title="@string/nav_commented"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__visibility_nav__mentions"
|
||||
android:title="@string/nav_mentions"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__visibility_nav__public_activities"
|
||||
android:title="@string/nav_public_activities"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__visibility_nav__exit"
|
||||
android:title="@string/action_exit_app"/>
|
||||
<com.github.dfa.diaspora_android.ui.ThemedVisibilityPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedVisibilityPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_key__visibility_nav__help_license"
|
||||
android:title="@string/nav_help_license"/>
|
||||
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
</PreferenceScreen>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory
|
||||
android:key="@string/pref_key__title__proxy"
|
||||
android:title="@string/HTTP">
|
||||
<com.github.dfa.diaspora_android.ui.ThemedCheckBoxPreference
|
||||
<com.github.dfa.diaspora_android.ui.theme.ThemedCheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key__http_proxy_enabled"
|
||||
android:summary="@string/pref_desc__http_proxy_enabled"
|
||||
|
@ -27,5 +27,5 @@
|
|||
android:summary="@string/pref_desc__http_proxy_load_tor_preset"
|
||||
android:title="@string/pref_title__http_proxy_load_tor_preset"/>
|
||||
|
||||
</com.github.dfa.diaspora_android.ui.ThemedPreferenceCategory>
|
||||
</com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
|