Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify welcome layouts #2741

Merged
merged 6 commits into from
Apr 16, 2019
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 1 addition & 11 deletions app/src/main/java/fr/free/nrw/commons/WelcomeActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,14 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.viewpager.widget.ViewPager;
import android.view.View;

import com.viewpagerindicator.CirclePageIndicator;

import javax.inject.Inject;
import javax.inject.Named;

import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.quiz.QuizActivity;
import fr.free.nrw.commons.theme.BaseActivity;
import fr.free.nrw.commons.utils.ConfigUtils;
Expand All @@ -29,7 +24,6 @@ public class WelcomeActivity extends BaseActivity {

private WelcomePagerAdapter adapter = new WelcomePagerAdapter();
private boolean isQuiz;
static String moreInformation;

/**
* Initialises exiting fields and dependencies
Expand All @@ -41,8 +35,6 @@ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);

moreInformation = this.getString(R.string.welcome_help_button_text);

if (getIntent() != null) {
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
Expand All @@ -61,7 +53,6 @@ public void onCreate(Bundle savedInstanceState) {

pager.setAdapter(adapter);
indicator.setViewPager(pager);
adapter.setCallback(this::finishTutorial);
}

/**
Expand All @@ -73,7 +64,6 @@ public void onDestroy() {
Intent i = new Intent(WelcomeActivity.this, QuizActivity.class);
startActivity(i);
}
adapter.setCallback(null);
super.onDestroy();
}

Expand Down
44 changes: 10 additions & 34 deletions app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java
Original file line number Diff line number Diff line change
@@ -1,35 +1,22 @@
package fr.free.nrw.commons;

import android.net.Uri;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.PagerAdapter;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.viewpager.widget.PagerAdapter;

public class WelcomePagerAdapter extends PagerAdapter {
private static final int[] PAGE_LAYOUTS = new int[]{
R.layout.welcome_wikipedia,
R.layout.welcome_do_upload,
R.layout.welcome_dont_upload,
R.layout.welcome_image_details,
R.layout.welcome_image_example,
R.layout.welcome_final
};
private static final int PAGE_FINAL = 4;
private Callback callback;
private ViewGroup container;

/**
* Changes callback to provided one
*
* @param callback New callback
* it can be null.
*/
public void setCallback(@Nullable Callback callback) {
this.callback = callback;
}

/**
* Gets total number of layouts
Expand All @@ -53,29 +40,22 @@ public boolean isViewFromObject(View view, Object object) {

@Override
public Object instantiateItem(ViewGroup container, int position) {
this.container = container;
LayoutInflater inflater = LayoutInflater.from(container.getContext());
ViewGroup layout = (ViewGroup) inflater.inflate(PAGE_LAYOUTS[position], container, false);

// If final page
if (position == PAGE_FINAL) {
if (position == PAGE_LAYOUTS.length - 1) {
// Add link to more information
TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
moreInfo.setText(Html.fromHtml(WelcomeActivity.moreInformation));
moreInfo.setOnClickListener(view -> {
try {
Utils.handleWebUrl(
container.getContext(),
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
);
} catch (Exception e) {
e.printStackTrace();
}
});
moreInfo.setText(Html.fromHtml(container.getContext().getString(R.string.welcome_help_button_text)));
moreInfo.setOnClickListener(view -> Utils.handleWebUrl(
container.getContext(),
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
));

// Handle click of finishTutorialButton ("YES!" button) inside layout
layout.findViewById(R.id.finishTutorialButton)
.setOnClickListener(view -> callback.finishTutorial());
.setOnClickListener(view -> ((WelcomeActivity) container.getContext()).finishTutorial());
}

container.addView(layout);
Expand All @@ -92,8 +72,4 @@ public Object instantiateItem(ViewGroup container, int position) {
public void destroyItem(ViewGroup container, int position, Object obj) {
container.removeView((View) obj);
}

public interface Callback {
void finishTutorial();
}
}
Binary file not shown.
Binary file removed app/src/main/res/drawable/llamas.webp
Binary file not shown.
Binary file removed app/src/main/res/drawable/mount_zao.webp
Binary file not shown.
Binary file removed app/src/main/res/drawable/rainbow_bridge.webp
Binary file not shown.
Binary file removed app/src/main/res/drawable/tulip.webp
Binary file not shown.
Binary file added app/src/main/res/drawable/welcome_do_upload.webp
Binary file not shown.
146 changes: 26 additions & 120 deletions app/src/main/res/layout-land/welcome_do_upload.xml
Original file line number Diff line number Diff line change
@@ -1,174 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?attr/tutorialBackground"
android:gravity="center"
android:orientation="horizontal">

<androidx.constraintlayout.widget.Guideline
android:id="@+id/center_guideline"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.55" />
android:paddingLeft="@dimen/huge_gap"
android:paddingRight="@dimen/huge_gap">

<GridLayout
android:layout_width="300dp"
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:columnCount="2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/center_guideline">

<ImageView
android:id="@+id/mount_zao"
android:layout_width="150dp"
android:layout_height="118dp"
android:contentDescription="@string/welcome_image_mount_zao"
android:scaleType="fitXY"
android:src="@drawable/mount_zao" />

<ImageView
android:id="@+id/llamas"
android:layout_width="150dp"
android:layout_height="118dp"
android:contentDescription="@string/welcome_image_llamas"
android:scaleType="fitXY"
android:src="@drawable/llamas" />

<ImageView
android:id="@+id/rainbow_bridge"
android:layout_width="150dp"
android:layout_height="118dp"
android:contentDescription="@string/welcome_image_rainbow_bridge"
android:scaleType="fitXY"
android:src="@drawable/rainbow_bridge" />

<ImageView
android:id="@+id/tulip"
android:layout_width="150dp"
android:layout_height="118dp"
android:contentDescription="@string/welcome_image_tulip"
android:scaleType="fitXY"
android:src="@drawable/tulip" />

</GridLayout>

android:layout_marginRight="@dimen/large_gap"
android:layout_weight="0.5"
android:adjustViewBounds="true"
android:contentDescription="@string/welcome_do_upload_content_description"
android:src="@drawable/welcome_do_upload" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical"
android:layout_marginStart="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap"
app:layout_constraintStart_toEndOf="@id/center_guideline"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">

android:layout_weight="0.5"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:maxWidth="240dp"
android:layout_marginTop="@dimen/standard_gap"
android:layout_marginBottom="@dimen/standard_gap"
android:text="@string/tutorial_2_text"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="@dimen/normal_text"
android:textStyle="bold" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxWidth="240dp"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="4dp"
android:paddingTop="@dimen/standard_gap"
android:text="@string/bullet"
android:textColor="@android:color/white"
android:textSize="16sp" />
<include layout="@layout/welcome_bullet" />

<TextView
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="start"
android:maxWidth="240dp"
android:paddingTop="@dimen/standard_gap"
android:text="@string/tutorial_2_subtext_1"
android:textAlignment="textStart"
android:textColor="@android:color/white" />

</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxWidth="240dp"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="4dp"
android:text="@string/bullet"
android:textColor="@android:color/white"
android:textSize="16sp" />
<include layout="@layout/welcome_bullet" />

<TextView
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="start"
android:maxWidth="240dp"
android:text="@string/tutorial_2_subtext_2"
android:textAlignment="textStart"
android:textColor="@android:color/white" />

</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxWidth="240dp"
android:orientation="horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="4dp"
android:text="@string/bullet"
android:textColor="@android:color/white"
android:textSize="16sp" />
<include layout="@layout/welcome_bullet" />

<TextView
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="start"
android:maxWidth="240dp"
android:text="@string/tutorial_2_subtext_3"
android:textAlignment="textStart"
android:textColor="@android:color/white" />

</LinearLayout>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
Loading