Improved the quality of Pr

This commit is contained in:
tanvidadu 2018-05-20 16:31:52 +05:30
parent 3851d37a38
commit fe82581472
4 changed files with 244 additions and 219 deletions

View file

@ -89,7 +89,7 @@
android:parentActivityName=".contributions.ContributionsActivity" /> android:parentActivityName=".contributions.ContributionsActivity" />
<activity <activity
android:name=".Achievements" android:name=".achievements.AchievementsActivity"
android:label="@string/Achievements"> android:label="@string/Achievements">
<intent-filter> <intent-filter>
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />

View file

@ -1,4 +1,4 @@
package fr.free.nrw.commons; package fr.free.nrw.commons.achievements;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -20,37 +20,42 @@ import android.widget.Toolbar;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random; import java.util.Random;
import butterknife.BindView;
import butterknife.ButterKnife;
import dagger.Binds;
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity;
public class Achievements extends AppCompatActivity { public class AchievementsActivity extends AppCompatActivity {
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.36;
@BindView(R.id.achievement_badge) ImageView imageView;
@BindView(R.id.toolbar) android.support.v7.widget.Toolbar toolbar;
private static final double badge_image_ratio_width = 0.4;
private static final double badge_image_ratio_height = 0.36;
private ImageView imageView;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_achievements); setContentView(R.layout.activity_achievements);
ButterKnife.bind(this);
DisplayMetrics displayMetrics = new DisplayMetrics(); DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels; int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels; int width = displayMetrics.widthPixels;
imageView = (ImageView)findViewById(R.id.achievement_badge);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)
imageView.getLayoutParams(); imageView.getLayoutParams();
params.height = (int) (height*badge_image_ratio_height); params.height = (int) (height*BADGE_IMAGE_HEIGHT_RATIO);
params.width = (int) (width*badge_image_ratio_width); params.width = (int) (width*BADGE_IMAGE_WIDTH_RATIO);
imageView.setImageResource(R.drawable.sydney_opera_house); imageView.setImageResource(R.drawable.sydney_opera_house);
imageView.requestLayout(); imageView.requestLayout();
android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
} }
@Override @Override
@ -73,6 +78,11 @@ public class Achievements extends AppCompatActivity {
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
/**
* To take screenshot of the screen and return it in Bitmap format
* @param view
* @return
*/
public static Bitmap getScreenShot(View view) { public static Bitmap getScreenShot(View view) {
View screenView = view.getRootView(); View screenView = view.getRootView();
screenView.setDrawingCacheEnabled(true); screenView.setDrawingCacheEnabled(true);
@ -81,6 +91,10 @@ public class Achievements extends AppCompatActivity {
return bitmap; return bitmap;
} }
/**
* To take bitmap and store it temporary storage and share it
* @param bitmap
*/
void shareScreen ( Bitmap bitmap){ void shareScreen ( Bitmap bitmap){
try { try {
File file = new File(this.getExternalCacheDir(),"screen.png"); File file = new File(this.getExternalCacheDir(),"screen.png");
@ -94,11 +108,9 @@ public class Achievements extends AppCompatActivity {
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
intent.setType("image/png"); intent.setType("image/png");
startActivity(Intent.createChooser(intent, "Share image via")); startActivity(Intent.createChooser(intent, "Share image via"));
} catch (Exception e) { } catch (IOException e) {
e.printStackTrace(); //Do Nothing
} }
} }
} }

View file

@ -8,224 +8,235 @@
<ScrollView <ScrollView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:background="#D6DCE0"
android:orientation="vertical">
<TextView
style="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:text="@string/level"
android:id="@+id/achievement_level"/>
<ImageView
android:id="@+id/achievement_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/achievement_level"
android:layout_centerHorizontal="true"
android:layout_marginVertical="@dimen/activity_margin_vertical" />
<RelativeLayout
android:id="@+id/layout_image_uploaded"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/achievement_badge"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/images_uploaded" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="3dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_image_reverts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_below="@+id/layout_image_uploaded"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/image_reverts" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="3dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_image_used_by_wiki"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_below="@+id/layout_image_reverts"
android:layout_marginBottom="@dimen/activity_margin_vertical"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/images_used_by_wiki" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp" android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="2.5dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<TextView <include
android:layout_width="wrap_content" android:id="@+id/toolbar"
android:layout_height="wrap_content" layout="@layout/toolbar"
android:text="@string/statistics" android:layout_width="match_parent"
style="?android:textAppearanceLarge" android:layout_height="wrap_content" />
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_vertical"/>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal" android:layout_below="@+id/toolbar"
android:layout_marginRight="@dimen/activity_margin_horizontal" android:background="@color/layout_light_grey"
android:layout_marginEnd="@dimen/activity_margin_horizontal" android:orientation="vertical">
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal">
<ImageView
android:layout_width="@dimen/overflow_icon_dimen"
android:layout_height="@dimen/overflow_icon_dimen"
android:id="@+id/featured_image_icon"
app:srcCompat="@drawable/featured"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_toRightOf="@+id/featured_image_icon"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="@string/statistics_featured"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_alignParentRight="true"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="2"
android:layout_marginLeft="@dimen/activity_margin_horizontal" />
<TextView
style="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:text="@string/level"
android:id="@+id/achievement_level" />
<ImageView
android:id="@+id/achievement_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/achievement_level"
android:layout_centerHorizontal="true"
android:layout_marginVertical="@dimen/activity_margin_vertical" />
<RelativeLayout
android:id="@+id/layout_image_uploaded"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/achievement_badge"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/images_uploaded" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="3dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_image_reverts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_below="@+id/layout_image_uploaded"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/image_reverts" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="3dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_image_used_by_wiki"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_below="@+id/layout_image_reverts"
android:layout_marginBottom="@dimen/activity_margin_vertical"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<TextView
style="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="@string/images_used_by_wiki" />
<com.dinuscxj.progressbar.CircleProgressBar
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:progress="50"
app:progress_end_color="#8C8B98"
app:progress_start_color="#3A3381"
app:progress_stroke_width="2.5dp"
app:progress_text_format_pattern="12/24"
app:style="solid_line" />
</RelativeLayout>
</RelativeLayout> </RelativeLayout>
<RelativeLayout
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal" android:orientation="vertical">
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<ImageView
android:layout_width="@dimen/overflow_icon_dimen"
android:layout_height="@dimen/overflow_icon_dimen"
app:srcCompat="@drawable/ic_thanks"
android:id="@+id/thanks_image_icon"
android:scaleType="centerCrop"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_toRightOf="@+id/thanks_image_icon"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="@string/statistics_thanks"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_alignParentRight="true"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="2"/>
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/statistics"
style="?android:textAppearanceLarge"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_vertical" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal">
<ImageView
android:layout_width="@dimen/overflow_icon_dimen"
android:layout_height="@dimen/overflow_icon_dimen"
android:id="@+id/featured_image_icon"
app:srcCompat="@drawable/featured" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_toRightOf="@+id/featured_image_icon"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="@string/statistics_featured" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_alignParentRight="true"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:text="2"
android:layout_marginLeft="@dimen/activity_margin_horizontal" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginRight="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal">
<ImageView
android:layout_width="@dimen/overflow_icon_dimen"
android:layout_height="@dimen/overflow_icon_dimen"
app:srcCompat="@drawable/ic_thanks"
android:id="@+id/thanks_image_icon"
android:scaleType="centerCrop" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_toRightOf="@+id/thanks_image_icon"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="@string/statistics_thanks" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceMedium"
android:layout_alignParentRight="true"
android:layout_marginEnd="@dimen/activity_margin_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal"
android:layout_marginStart="@dimen/activity_margin_horizontal"
android:layout_marginLeft="@dimen/activity_margin_horizontal"
android:text="2" />
</RelativeLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
</ScrollView> </ScrollView>
<android.support.design.widget.NavigationView <android.support.design.widget.NavigationView
android:id="@+id/navigation_view" android:id="@+id/navigation_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -233,4 +244,5 @@
android:layout_gravity="start" android:layout_gravity="start"
app:headerLayout="@layout/drawer_header" app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer" /> app:menu="@menu/drawer" />
</android.support.v4.widget.DrawerLayout> </android.support.v4.widget.DrawerLayout>

View file

@ -50,6 +50,7 @@
<color name="bottom_bar_light">#E0E0E0</color> <color name="bottom_bar_light">#E0E0E0</color>
<color name="bottom_bar_dark">#424242</color> <color name="bottom_bar_dark">#424242</color>
<color name="layout_light_grey">#D6DCE0</color>
<color name="opak_middle_grey">#757575</color> <color name="opak_middle_grey">#757575</color>
</resources> </resources>