diff --git a/build.gradle b/build.gradle
index accb11e27e06cdf0ecc910ee39d2b4914299a98a..f7cfb9638efc014e9307acffc9747fa7cb273650 100644
--- a/build.gradle
+++ b/build.gradle
@@ -104,6 +104,7 @@ dependencies {
implementation 'org.snikket:webrtc-android:107.0.0'
implementation 'com.github.woltapp:blurhash:master'
implementation 'com.caverock:androidsvg-aar:1.4'
+ implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:4.1.2'
// INSERT
}
diff --git a/src/cheogram/java/eu/siacs/conversations/ui/WelcomeActivity.java b/src/cheogram/java/eu/siacs/conversations/ui/WelcomeActivity.java
index 5c23520c596c8381b7e8c934b33bbc3bc2725901..8d3c35d73183bc3bd635294194ed74b1aaef0873 100644
--- a/src/cheogram/java/eu/siacs/conversations/ui/WelcomeActivity.java
+++ b/src/cheogram/java/eu/siacs/conversations/ui/WelcomeActivity.java
@@ -11,11 +11,15 @@ import android.security.KeyChainAliasCallback;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
import java.security.SecureRandom;
import java.util.Arrays;
@@ -138,6 +142,19 @@ public class WelcomeActivity extends XmppActivity implements XmppConnectionServi
super.onCreate(savedInstanceState);
getPreferences().edit().putStringSet("pstn_gateways", new HashSet<>()).apply();
ActivityWelcomeBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_welcome);
+ binding.slideshowPager.setAdapter(new WelcomePagerAdapter(binding.slideshowPager));
+ binding.dotsIndicator.setViewPager(binding.slideshowPager);
+ binding.slideshowPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+ public void onPageScrollStateChanged(int state) { }
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { }
+
+ public void onPageSelected(int position) {
+ binding.buttonNext.setVisibility(position > 1 ? View.GONE : View.VISIBLE);
+ }
+ });
+ binding.buttonNext.setOnClickListener((v) ->
+ binding.slideshowPager.setCurrentItem(binding.slideshowPager.getCurrentItem() + 1)
+ );
setSupportActionBar(binding.toolbar);
configureActionBar(getSupportActionBar(), false);
binding.registerNewAccount.setOnClickListener(v -> {
@@ -278,4 +295,37 @@ public class WelcomeActivity extends XmppActivity implements XmppConnectionServi
}
}
+ class WelcomePagerAdapter extends PagerAdapter {
+ protected View[] pages;
+
+ public WelcomePagerAdapter(ViewPager p) {
+ super();
+ pages = new View[]{ p.getChildAt(0), p.getChildAt(1), p.getChildAt(2) };
+ for (View v : pages) {
+ p.removeView(v);
+ }
+ }
+
+ @Override
+ public int getCount() {
+ return 3;
+ }
+
+ @NonNull
+ @Override
+ public Object instantiateItem(@NonNull ViewGroup container, int position) {
+ container.addView(pages[position]);
+ return pages[position];
+ }
+
+ @Override
+ public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
+ return view == o;
+ }
+
+ @Override
+ public void destroyItem(@NonNull ViewGroup container, int position, Object o) {
+ container.removeView(pages[position]);
+ }
+ }
}
diff --git a/src/cheogram/res/drawable/android_messages.xml b/src/cheogram/res/drawable/android_messages.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b4fbff167fe31c9fbbca86eb84fb27365ee6dfc
--- /dev/null
+++ b/src/cheogram/res/drawable/android_messages.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cheogram/res/drawable/irc.xml b/src/cheogram/res/drawable/irc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e8b201e718a5e33802f91103f42c314ddd2f8465
--- /dev/null
+++ b/src/cheogram/res/drawable/irc.xml
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/src/cheogram/res/drawable/matrix.xml b/src/cheogram/res/drawable/matrix.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ded32a5861764e889416a2fba678c2dffd912a80
--- /dev/null
+++ b/src/cheogram/res/drawable/matrix.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/cheogram/res/font/archivoblack.ttf b/src/cheogram/res/font/archivoblack.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..16a1d8c38736e32e4170cc8333038cbd54eaed4b
Binary files /dev/null and b/src/cheogram/res/font/archivoblack.ttf differ
diff --git a/src/cheogram/res/font/poppins.ttf b/src/cheogram/res/font/poppins.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..be06e7fdca57d8fc360647d7b7a6a0c7b2da7e26
Binary files /dev/null and b/src/cheogram/res/font/poppins.ttf differ
diff --git a/src/cheogram/res/layout/activity_welcome.xml b/src/cheogram/res/layout/activity_welcome.xml
index c507da2523493363a1fb4d5ba26615881290d669..497fd0e353b4988e7d08a021a57a2b367ca0a1a6 100644
--- a/src/cheogram/res/layout/activity_welcome.xml
+++ b/src/cheogram/res/layout/activity_welcome.xml
@@ -1,5 +1,171 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -68,8 +236,10 @@
android:textSize="?TextSizeTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginBottom="10dp"
android:layout_gravity="center"
android:drawableLeft="@drawable/havejid"
+ android:fontFamily="@font/poppins"
android:text="@string/i_already_have_an_account"
android:textColor="?colorAccent" />
@@ -83,10 +253,61 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/snikket"
+ android:fontFamily="@font/poppins"
android:text="@string/i_am_snikket_user"
android:textColor="?colorAccent" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/cheogram/res/raw/federation_diagram.svg b/src/cheogram/res/raw/federation_diagram.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eee64d435fb764a2c312b4c0c0f1af2d46f865b7
--- /dev/null
+++ b/src/cheogram/res/raw/federation_diagram.svg
@@ -0,0 +1,295 @@
+
+
diff --git a/src/cheogram/res/raw/jmp.svg b/src/cheogram/res/raw/jmp.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e558f239f4f93ae41998f4fac0cc5c6639709b6d
--- /dev/null
+++ b/src/cheogram/res/raw/jmp.svg
@@ -0,0 +1,33 @@
+
diff --git a/src/cheogram/res/raw/xmpp.svg b/src/cheogram/res/raw/xmpp.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3d56d74312136c0daf29908eff930dd58c21d031
--- /dev/null
+++ b/src/cheogram/res/raw/xmpp.svg
@@ -0,0 +1,435 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/main/res/drawable-hdpi/ic_call_black_24dp.png b/src/main/res/drawable-hdpi/ic_call_black_24dp.png
deleted file mode 100644
index d4077acf91bca566c143501ecd3589960f297eef..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-hdpi/ic_call_black_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/ic_call_white_24dp.png b/src/main/res/drawable-hdpi/ic_call_white_24dp.png
deleted file mode 100644
index 4dc5065155baeba719d76845d4398431c289cde0..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-hdpi/ic_call_white_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-mdpi/ic_call_black_24dp.png b/src/main/res/drawable-mdpi/ic_call_black_24dp.png
deleted file mode 100644
index 55ed026bcec5bba38bcf91972fd08d4671dc9b84..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-mdpi/ic_call_black_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-mdpi/ic_call_white_24dp.png b/src/main/res/drawable-mdpi/ic_call_white_24dp.png
deleted file mode 100644
index 77f9de5e3ccb30fb6e580454412c98e2f6c553c1..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-mdpi/ic_call_white_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xhdpi/ic_call_black_24dp.png b/src/main/res/drawable-xhdpi/ic_call_black_24dp.png
deleted file mode 100644
index 99f28bbeca97715d85975921dd64fbde691c7ed9..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xhdpi/ic_call_black_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xhdpi/ic_call_white_24dp.png b/src/main/res/drawable-xhdpi/ic_call_white_24dp.png
deleted file mode 100644
index ef45e933a99b720cc5f6127e6da22bc2fa679244..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xhdpi/ic_call_white_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xxhdpi/ic_call_black_24dp.png b/src/main/res/drawable-xxhdpi/ic_call_black_24dp.png
deleted file mode 100644
index 7c9d1b09c55f77d44877d4a354280ae5c2e1f645..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xxhdpi/ic_call_black_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xxhdpi/ic_call_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_call_white_24dp.png
deleted file mode 100644
index 90ead2e4551b165530bd2430b3d69c34263c5c4e..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xxhdpi/ic_call_white_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_call_black_24dp.png b/src/main/res/drawable-xxxhdpi/ic_call_black_24dp.png
deleted file mode 100644
index 61b0e704335595dcebf97b6793bd37c6ed96d552..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xxxhdpi/ic_call_black_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_call_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_call_white_24dp.png
deleted file mode 100644
index b0e020573d37e8b4acac23fcd3e01cc39531b5e4..0000000000000000000000000000000000000000
Binary files a/src/main/res/drawable-xxxhdpi/ic_call_white_24dp.png and /dev/null differ
diff --git a/src/main/res/drawable/ic_call_black54_24dp.xml b/src/main/res/drawable/ic_call_black54_24dp.xml
index beb641078f23c758ff0cb5f0a2845b7c69e57297..17c80f0150b5a14ad7dd595165ad8925771809c1 100644
--- a/src/main/res/drawable/ic_call_black54_24dp.xml
+++ b/src/main/res/drawable/ic_call_black54_24dp.xml
@@ -1,4 +1,10 @@
-
-
\ No newline at end of file
+
+
+
diff --git a/src/main/res/drawable/ic_call_black_24dp.xml b/src/main/res/drawable/ic_call_black_24dp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..567e303fc5ce825133a5eb4ddb7ffef86c107447
--- /dev/null
+++ b/src/main/res/drawable/ic_call_black_24dp.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/src/main/res/drawable/ic_call_white70_24dp.xml b/src/main/res/drawable/ic_call_white70_24dp.xml
index f1a2e46a17ee5097a4f42ca321d2a4bc4d57d3fc..90e6151345195772b6b7eafc86658185d651c1a5 100644
--- a/src/main/res/drawable/ic_call_white70_24dp.xml
+++ b/src/main/res/drawable/ic_call_white70_24dp.xml
@@ -1,4 +1,10 @@
-
-
\ No newline at end of file
+
+
+
diff --git a/src/main/res/drawable/ic_call_white_24dp.xml b/src/main/res/drawable/ic_call_white_24dp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..567e303fc5ce825133a5eb4ddb7ffef86c107447
--- /dev/null
+++ b/src/main/res/drawable/ic_call_white_24dp.xml
@@ -0,0 +1,10 @@
+
+
+