Activity transitions, usability MainActivity, green accent color

This commit is contained in:
Gregor Santner 2016-06-02 13:58:09 +02:00
parent a0d81da63d
commit ff39986715
22 changed files with 255 additions and 226 deletions

View File

@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
android {
compileSdkVersion 23
@ -34,6 +35,8 @@ dependencies {
compile 'com.android.support:support-v4:23.3.0'
// More libraries
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.getbase:floatingactionbutton:1.9.1'
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
}

View File

@ -26,7 +26,7 @@
</intent-filter>
</activity>
<activity
android:name="com.github.dfa.diaspora_android.activity.PodsActivity"
android:name=".activity.PodSelectionActivity"
android:launchMode="singleInstance"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/title_activity_pods"

View File

@ -92,7 +92,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import butterknife.Bind;
import butterknife.BindView;
import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity
@ -116,19 +116,19 @@ public class MainActivity extends AppCompatActivity
private WebUserProfile webUserProfile;
private final Handler uiHandler = new Handler();
@Bind(R.id.swipe)
@BindView(R.id.swipe)
SwipeRefreshLayout swipeRefreshLayout;
@Bind(R.id.progressBar)
@BindView(R.id.progressBar)
ProgressBar progressBar;
@Bind(R.id.toolbar)
@BindView(R.id.toolbar)
Toolbar toolbar;
@Bind(R.id.webView)
@BindView(R.id.webView)
ContextMenuWebView webView;
@Bind(R.id.fab_menubutton)
@BindView(R.id.fab_menubutton)
FloatingActionsMenu fab;
// NavHeader cannot be bound by Butterknife
@ -238,7 +238,7 @@ public class MainActivity extends AppCompatActivity
cookieManager.setCookie(url, cookies);
cookieManager.setCookie("https://" + appSettings.getPodDomain(), cookies);
for (String c : cookies.split(";")) {
Log.d(App.TAG, "Cookie: " + c.split("=")[0] + " Value:" + c.split("=")[1]);
//Log.d(App.TAG, "Cookie: " + c.split("=")[0] + " Value:" + c.split("=")[1]);
}
//new ProfileFetchTask(app).execute();
}
@ -361,7 +361,7 @@ public class MainActivity extends AppCompatActivity
View navHeader = navigationView.getHeaderView(0);
navheaderTitle = ButterKnife.findById(navHeader, R.id.navheader_title);
navheaderDescription = ButterKnife.findById(navHeader, R.id.navheader_description);
navheaderDescription = ButterKnife.findById(navHeader, R.id.podselection__podupti_notice);
navheaderImage = ButterKnife.findById(navHeader, R.id.navheader_user_image);
if (!appSettings.getName().equals("")) {
@ -1013,9 +1013,9 @@ public class MainActivity extends AppCompatActivity
}
break;
case R.id.nav_settings_view: {
case R.id.nav_settings_app: {
final CharSequence[] options = {getString(R.string.settings_font), getString(R.string.settings_view), appSettings.isLoadImages() ?
getString(R.string.settings_images_switch_off) : getString(R.string.settings_images_switch_on)};
getString(R.string.settings_images_switch_off) : getString(R.string.settings_images_switch_on), getString(R.string.jb_pod)};
if (Helpers.isOnline(MainActivity.this)) {
new AlertDialog.Builder(MainActivity.this)
@ -1034,6 +1034,28 @@ public class MainActivity extends AppCompatActivity
appSettings.setLoadImages(!appSettings.isLoadImages());
webView.loadUrl(webView.getUrl());
break;
case 3:
new AlertDialog.Builder(MainActivity.this)
.setTitle(getString(R.string.confirmation))
.setMessage(getString(R.string.change_pod_warning))
.setPositiveButton(getString(R.string.yes),
new DialogInterface.OnClickListener() {
@TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
webView.clearCache(true);
dialog.cancel();
Intent i = new Intent(MainActivity.this, PodSelectionActivity.class);
startActivity(i);
finish();
}
})
.setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() {
@TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}).show();
break;
}
}
}).show();
@ -1045,7 +1067,7 @@ public class MainActivity extends AppCompatActivity
case R.id.nav_settings_diaspora: {
final CharSequence[] options2 = {getString(R.string.jb_settings), getString(R.string.jb_manage_tags),
getString(R.string.jb_contacts), getString(R.string.jb_pod)};
getString(R.string.jb_contacts)};
if (Helpers.isOnline(MainActivity.this)) {
new AlertDialog.Builder(MainActivity.this)
.setItems(options2, new DialogInterface.OnClickListener() {
@ -1057,27 +1079,6 @@ public class MainActivity extends AppCompatActivity
webView.loadUrl("https://" + podDomain + "/tag_followings/manage");
if (options2[item].equals(getString(R.string.jb_contacts)))
webView.loadUrl("https://" + podDomain + "/contacts");
if (options2[item].equals(getString(R.string.jb_pod)))
new AlertDialog.Builder(MainActivity.this)
.setTitle(getString(R.string.confirmation))
.setMessage(getString(R.string.change_pod_warning))
.setPositiveButton(getString(R.string.yes),
new DialogInterface.OnClickListener() {
@TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
webView.clearCache(true);
dialog.cancel();
Intent i = new Intent(MainActivity.this, PodsActivity.class);
startActivity(i);
finish();
}
})
.setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() {
@TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}).show();
}
}).show();
} else {

View File

@ -21,7 +21,6 @@ package com.github.dfa.diaspora_android.activity;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
@ -32,7 +31,9 @@ import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.SpannableString;
import android.text.TextWatcher;
import android.text.util.Linkify;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@ -40,7 +41,6 @@ import android.webkit.CookieManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@ -52,36 +52,32 @@ import com.github.dfa.diaspora_android.util.Helpers;
import java.util.ArrayList;
import java.util.Collections;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class PodsActivity extends AppCompatActivity {
public class PodSelectionActivity extends AppCompatActivity {
private BroadcastReceiver podListReceiver;
private EditText filter;
private ListView lv;
private ProgressDialog progressDialog;
private App app;
@BindView(R.id.podselection__edit_filter)
public EditText filter;
@BindView(R.id.podselection__listpods)
public ListView lv;
private String podSelected = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pods);
setContentView(R.layout.podselection_activity);
ButterKnife.bind(this);
app = (App) getApplication();
filter = (EditText) findViewById(R.id.edtFilter);
lv = (ListView) findViewById(R.id.lstPods);
lv.setTextFilterEnabled(true);
ImageView imgSelectPod = (ImageView) findViewById(R.id.imgSelectPod);
imgSelectPod.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (filter.getText().length() > 4 && filter.getText().toString().contains(""))
askConfirmation(filter.getText().toString());
else
Snackbar.make(lv, R.string.valid_pod, Snackbar.LENGTH_LONG).show();
}
});
podListReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@ -89,9 +85,6 @@ public class PodsActivity extends AppCompatActivity {
Bundle extras = intent.getExtras();
String[] pods = extras.getStringArray("pods");
if (progressDialog != null)
progressDialog.dismiss();
if (pods != null && pods.length > 0)
updateListview(pods);
else {
@ -103,37 +96,38 @@ public class PodsActivity extends AppCompatActivity {
registerReceiver(podListReceiver, new IntentFilter(GetPodsService.MESSAGE));
progressDialog = new ProgressDialog(PodsActivity.this);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.setMessage(getString(R.string.loading_podlist));
if (Helpers.isOnline(PodsActivity.this)) {
progressDialog.show();
} else {
if (!Helpers.isOnline(PodSelectionActivity.this)) {
Snackbar.make(lv, R.string.no_internet, Snackbar.LENGTH_LONG).show();
}
}
@OnClick(R.id.podselection__button_select_pod)
public void onButtonSelectPodClicked(View view) {
if (filter.getText().length() > 4 && filter.getText().toString().contains("")) {
askConfirmation(filter.getText().toString());
} else {
Snackbar.make(lv, R.string.valid_pod, Snackbar.LENGTH_LONG).show();
}
}
@Override
protected void onResume() {
super.onResume();
Intent i = new Intent(PodsActivity.this, GetPodsService.class);
Intent i = new Intent(PodSelectionActivity.this, GetPodsService.class);
startService(i);
}
private void updateListview(String[] source) {
private void updateListview(String[] allPods) {
final ArrayList<String> podList = new ArrayList<>();
for (String aSource : source) {
podList.add(aSource.toLowerCase());
for (String pod : allPods) {
podList.add(pod.toLowerCase());
}
Collections.sort(podList);
//Collections.sort(podList);
final ArrayAdapter<String> adapter = new ArrayAdapter<>(
PodsActivity.this,
PodSelectionActivity.this,
android.R.layout.simple_list_item_1,
podList);
lv.setAdapter(adapter);
@ -150,55 +144,36 @@ public class PodsActivity extends AppCompatActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) {
(adapter).getFilter().filter(s.toString());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
private void askConfirmation(final String podDomain) {
if (Helpers.isOnline(PodsActivity.this)) {
new AlertDialog.Builder(PodsActivity.this)
podSelected = podDomain;
// Make link clickable
final SpannableString dialogMessage = new SpannableString(getString(R.string.confirm_pod, podDomain));
Linkify.addLinks(dialogMessage, Linkify.ALL);
if (Helpers.isOnline(PodSelectionActivity.this)) {
new AlertDialog.Builder(PodSelectionActivity.this)
.setTitle(getString(R.string.confirmation))
.setMessage(getString(R.string.confirm_pod) + podDomain + "?")
.setMessage(dialogMessage)
.setPositiveButton(R.string.yes,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
app.getSettings().setPodDomain(podDomain);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
try {
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().removeSessionCookies(null);
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
CookieManager.getInstance().removeAllCookie();
CookieManager.getInstance().removeSessionCookie();
} catch (Exception e) {
e.printStackTrace();
}
}
Intent i = new Intent(PodsActivity.this, MainActivity.class);
dialog.cancel();
startActivity(i);
finish();
onPodSelectionConfirmed();
}
})
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
podSelected = "";
}
}).show();
@ -207,18 +182,41 @@ public class PodsActivity extends AppCompatActivity {
}
}
public void onPodSelectionConfirmed(){
app.getSettings().setPodDomain(podSelected);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
try {
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().removeSessionCookies(null);
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
CookieManager.getInstance().removeAllCookie();
CookieManager.getInstance().removeSessionCookie();
} catch (Exception e) {
e.printStackTrace();
}
}
Intent intent = new Intent(PodSelectionActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
finish();
}
@Override
public void onBackPressed() {
Snackbar snackbar = Snackbar
.make(lv, R.string.confirm_exit, Snackbar.LENGTH_LONG)
Snackbar.make(lv, R.string.confirm_exit, Snackbar.LENGTH_LONG)
.setAction(R.string.yes, new View.OnClickListener() {
@Override
public void onClick(View view) {
moveTaskToBack(true);
}
});
snackbar.show();
})
.show();
}
@Override
@ -235,20 +233,18 @@ public class PodsActivity extends AppCompatActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_reload) {
if (Helpers.isOnline(PodsActivity.this)) {
progressDialog.show();
Intent i = new Intent(PodsActivity.this, GetPodsService.class);
startService(i);
return true;
} else {
Snackbar.make(lv, R.string.no_internet, Snackbar.LENGTH_LONG).show();
return false;
switch (item.getItemId()) {
case R.id.action_reload: {
if (Helpers.isOnline(PodSelectionActivity.this)) {
Intent i = new Intent(PodSelectionActivity.this, GetPodsService.class);
startService(i);
return true;
} else {
Snackbar.make(lv, R.string.no_internet, Snackbar.LENGTH_LONG).show();
return false;
}
}
}
return super.onOptionsItemSelected(item);
}

View File

@ -22,6 +22,7 @@ package com.github.dfa.diaspora_android.activity;
import android.content.Intent;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.WindowManager;
import android.widget.ImageView;
@ -39,33 +40,34 @@ public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_splash);
setContentView(R.layout.splash_activity);
app = (App) getApplication();
ImageView imgSplash = (ImageView) findViewById(R.id.imgSplash);
ImageView imgSplash = (ImageView) findViewById(R.id.splash__splashimage);
TypedArray images = getResources().obtainTypedArray(R.array.splash_images);
int choice = (int) (Math.random() * images.length());
imgSplash.setImageResource(images.getResourceId(choice, R.drawable.splashscreen1));
images.recycle();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
int delay = getResources().getInteger(R.integer.splash_delay);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent i;
Intent intent;
if (!app.getSettings().getPodDomain().equals("")) {
i = new Intent(SplashActivity.this, MainActivity.class);
intent = new Intent(SplashActivity.this, MainActivity.class);
} else {
i = new Intent(SplashActivity.this, PodsActivity.class);
intent = new Intent(SplashActivity.this, PodSelectionActivity.class);
}
startActivity(i);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
finish();
}
}, 2000);
}, delay);
}

View File

@ -97,15 +97,13 @@ public class GetPodsService extends Service {
}
//Parse the JSON Data
try {
JSONObject j = new JSONObject(builder.toString());
JSONArray jr = j.getJSONArray("pods");
Log.d(TAG, "Number of entries " + jr.length());
JSONObject jsonObjectAll = new JSONObject(builder.toString());
JSONArray jsonArrayAll = jsonObjectAll.getJSONArray("pods");
Log.d(TAG, "Number of entries " + jsonArrayAll.length());
list = new ArrayList<>();
for (int i = 0; i < jr.length(); i++) {
JSONObject jo = jr.getJSONObject(i);
Log.d(TAG, jo.getString("domain"));
String secure = jo.getString("secure");
if (secure.equals("true"))
for (int i = 0; i < jsonArrayAll.length(); i++) {
JSONObject jo = jsonArrayAll.getJSONObject(i);
if (jo.getString("secure").equals("true"))
list.add(jo.getString("domain"));
}

View File

@ -23,6 +23,7 @@ package com.github.dfa.diaspora_android.util;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v4.content.ContextCompat;
import android.webkit.WebView;
public class Helpers {

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@integer/fade_time" />

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@integer/fade_time" />

View File

@ -19,7 +19,7 @@
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:headerLayout="@layout/main_nav_header"
app:menu="@menu/navdrawer_main" />
</android.support.v4.widget.DrawerLayout>

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.github.dfa.myapplication.MainActivity"
tools:context=".activity.MainActivity"
tools:showIn="@layout/app_bar_main">
<android.support.v4.widget.SwipeRefreshLayout

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="120dp"
android:gravity="bottom"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/navheader_background_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/header" />
<LinearLayout
android:layout_width="wrap_content"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="32dp"
android:layout_alignParentStart="true"
android:layout_height="match_parent">
<ImageView
android:id="@+id/navheader_user_image"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:layout_width="@android:dimen/notification_large_icon_width"
android:layout_height="@android:dimen/notification_large_icon_height"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:id="@+id/navheader_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/podselection__podupti_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:text="@string/app_copyright"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="190dp"
android:gravity="bottom"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/navheader_background_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/header" />
<ImageView
android:id="@+id/navheader_user_image"
android:layout_width="@android:dimen/notification_large_icon_width"
android:layout_height="@android:dimen/notification_large_icon_height"
android:layout_above="@+id/navheader_title"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/nav_header_vertical_spacing"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/navheader_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/navheader_description"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/navheader_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingBottom="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:text="@string/app_copyright"
android:textColor="@color/white" />
</RelativeLayout>

View File

@ -7,48 +7,50 @@
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.github.dfa.diaspora_android.activity.PodsActivity">
tools:context=".activity.PodSelectionActivity">
<ListView
android:id="@+id/lstPods"
android:id="@+id/podselection__listpods"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/navheader_description"
android:layout_below="@+id/edtFilter"
android:layout_above="@+id/podselection__podupti_notice"
android:layout_below="@+id/podselection__edit_filter"
android:choiceMode="singleChoice" />
<EditText
android:id="@+id/edtFilter"
android:id="@+id/podselection__edit_filter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/imgSelectPod"
android:layout_toStartOf="@+id/imgSelectPod"
android:layout_toLeftOf="@+id/podselection__button_select_pod"
android:layout_toStartOf="@+id/podselection__button_select_pod"
android:hint="@string/filter_hint"
android:inputType="textUri|textWebEditText" />
<ImageView
android:id="@+id/imgSelectPod"
android:id="@+id/podselection__button_select_pod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/lstPods"
android:layout_alignEnd="@+id/lstPods"
android:layout_alignRight="@+id/lstPods"
android:layout_alignTop="@+id/edtFilter"
android:layout_above="@+id/podselection__listpods"
android:layout_alignEnd="@+id/podselection__listpods"
android:layout_alignRight="@+id/podselection__listpods"
android:layout_alignTop="@+id/podselection__edit_filter"
android:contentDescription="@string/confirm_url"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:src="@mipmap/ic_arrow_right_grey600_24dp" />
<TextView
android:id="@+id/navheader_description"
android:id="@+id/podselection__podupti_notice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="@string/podlist_source_note"
android:textAppearance="?android:attr/textAppearanceSmall" />
android:textAppearance="?android:attr/textAppearanceSmall"
android:autoLink="web" />
</RelativeLayout>

View File

@ -2,10 +2,10 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.github.dfa.diaspora_android.activity.SplashActivity">
tools:context=".activity.SplashActivity">
<ImageView
android:id="@+id/imgSplash"
android:id="@+id/splash__splashimage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"

View File

@ -1,7 +1,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.github.dfa.diaspora_android.activity.PodsActivity">
tools:context=".activity.PodSelectionActivity">
<item
android:id="@+id/action_reload"

View File

@ -53,7 +53,7 @@
<item android:title="@string/jb_menu_1">
<menu>
<item
android:id="@+id/nav_settings_view"
android:id="@+id/nav_settings_app"
android:icon="@drawable/jb_settings"
android:title="@string/jb_settings_view" />

View File

@ -5,13 +5,13 @@
<string name="filter_hint">Pod-Domain eingeben</string>
<string name="exit_app">App beenden</string>
<string name="confirm_url">Pod-Adresse bestätigen</string>
<string name="podlist_source_note">Anmerkung: Auf dieser Liste finden sich nur Einträge von podupti.me</string>
<string name="podlist_source_note">Anmerkung: Die Podliste wird aus den sicheren Pods, die bei https://podupti.me gelistet sind generiert.</string>
<string name="valid_pod">Bitte einen gültigen Domain-Namen (URL) eingeben</string>
<string name="podlist_error">Fehler: Konnte die Podliste nicht abfragen!</string>
<string name="loading_podlist">Podliste wird geladen…</string>
<string name="no_internet">Entschuldigung, du musst mit dem Internet verbunden sein um fortzufahren.</string>
<string name="confirmation">Bestätigung</string>
<string name="confirm_pod">Willst du folgenden Pod benutzen: </string>
<string name="confirm_pod">Möchtest du wirklich \nhttps://%1$s\nals deinen Diaspora Pod auswählen?</string>
<string name="confirm_exit">Möchtest du die App verlassen?</string>
<string name="yes">OK</string>
<string name="no">NEIN</string>
@ -78,8 +78,8 @@
<string name="share_screenshot">Bildschirmfoto teilen</string>
<string name="take_screenshot">Bildschirmfoto speichern</string>
<string name="toast_screenshot">Bildschirmfoto wird gespeichert unter:</string>
<string name="jb_settings_diaspora">Diaspora Einstellungen</string>
<string name="jb_settings_view">Ansichtseinstellungen</string>
<string name="jb_settings_diaspora">Pod Einstellungen</string>
<string name="jb_settings_view">App Einstellungen</string>
<string name="help_help">Markdown Formatierung</string>
<string name="help_license">Lizenz</string>
<string name="jb_help_license">Über die App | Hilfe</string>

View File

@ -8,15 +8,15 @@
<color name="primary">#607d8b</color>
<color name="primary_dark">#607d8b</color>
<color name="primary_light">#CFD8DC</color>
<color name="accent">#ff9800</color>
<color name="accent">#4CAF50</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#727272</color>
<color name="icons">#FFFFFF</color>
<color name="divider">#B6B6B6</color>
<!-- End colors from Palette -->
<color name="fab_big">#ff9800</color>
<color name="fab_big_pressed">#ffb74d</color>
<color name="fab_big">@color/accent</color>
<color name="fab_big_pressed">#388E3C</color>
<color name="fab_small">#607d8b</color>
<color name="fab_small_pressed">#90a4ae</color>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="fade_time">1300</integer>
<integer name="splash_delay">1500</integer>
</resources>

View File

@ -24,7 +24,7 @@
<string name="title_activity_pods">Select Pod</string>
<string name="filter_hint">Enter pod domain</string>
<string name="confirm_url">Confirm pod url</string>
<string name="podlist_source_note">Note: This list is populated with only the secure pods from podupti.me</string>
<string name="podlist_source_note">Note: The podlist is populated by secure pods listed on https://podupti.me. You can enter in the edit field any pod not listed.</string>
<string name="valid_pod">Please enter a valid domain name</string>
<string name="podlist_error">Error: Could not retrieve list of pods!</string>
<string name="loading_podlist">Loading pod list …</string>
@ -32,7 +32,7 @@
<string name="no_internet">Sorry, you must be connected to the Internet to proceed</string>
<string name="confirmation">Confirmation</string>
<string name="confirm_pod">Do you want to use the pod: </string>
<string name="confirm_pod">Do you really want to use\nhttps://%1$s\nas your Diaspora Pod?</string>
<string name="confirm_exit">Do you want to exit?</string>
<string name="yes">YES</string>
<string name="no">NO</string>
@ -62,8 +62,8 @@
<string name="jb_aspects">Aspects</string>
<string name="jb_pod">Change pod</string>
<string name="jb_public">Public activities</string>
<string name="jb_settings_view">View settings</string>
<string name="jb_settings_diaspora">Diaspora settings</string>
<string name="jb_settings_view">App settings</string>
<string name="jb_settings_diaspora">Pod settings</string>
<string name="jb_share">Share content</string>
<string name="settings_font">Change font size</string>

View File

@ -6,6 +6,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@ -15,6 +16,7 @@ buildscript {
allprojects {
repositories {
jcenter()
mavenCentral()
}
}