Revision c651024f
Added by Leszek Koltunski almost 4 years ago
| src/main/java/org/distorted/config/ConfigScreen.java | ||
|---|---|---|
| 158 | 158 |
|
| 159 | 159 |
private void setupObjectButton(final ConfigActivity act, final int width) |
| 160 | 160 |
{
|
| 161 |
final int margin= (int)(width*RubikActivity.MARGIN); |
|
| 161 |
final int margin= (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 162 | 162 |
final int icon = RubikActivity.getDrawable(R.drawable.ui_small_cube_menu,R.drawable.ui_medium_cube_menu, R.drawable.ui_big_cube_menu, R.drawable.ui_huge_cube_menu); |
| 163 | 163 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); |
| 164 | 164 |
mObjectButton = new TransparentImageButton(act, icon, TransparentImageButton.GRAVITY_MIDDLE, params); |
| ... | ... | |
| 297 | 297 |
private void setupTextView(final ConfigActivity act, final float width, int numObjects) |
| 298 | 298 |
{
|
| 299 | 299 |
int padding = (int)(width*RubikActivity.PADDING); |
| 300 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 300 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 301 | 301 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,2.0f); |
| 302 | 302 |
params.topMargin = margin; |
| 303 | 303 |
params.bottomMargin = margin; |
| src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java | ||
|---|---|---|
| 20 | 20 |
package org.distorted.dialogs; |
| 21 | 21 |
|
| 22 | 22 |
import android.app.Activity; |
| 23 |
import android.util.TypedValue; |
|
| 23 | 24 |
import android.view.View; |
| 24 | 25 |
import android.widget.Button; |
| 25 | 26 |
import android.widget.ImageView; |
| 27 |
import android.widget.LinearLayout; |
|
| 26 | 28 |
import android.widget.TextView; |
| 27 | 29 |
|
| 28 | 30 |
import org.distorted.main.R; |
| ... | ... | |
| 44 | 46 |
|
| 45 | 47 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 46 | 48 |
|
| 47 |
public View createView(Activity act, RubikUpdates.UpdateInfo info, boolean isNew) |
|
| 49 |
public View createView(Activity act, RubikUpdates.UpdateInfo info, int fontSize, boolean isNew, |
|
| 50 |
LinearLayout.LayoutParams pImage, LinearLayout.LayoutParams pView, |
|
| 51 |
LinearLayout.LayoutParams pText, LinearLayout.LayoutParams pButt ) |
|
| 48 | 52 |
{
|
| 49 | 53 |
int layoutID = R.layout.dialog_updates_pane; |
| 50 | 54 |
mView = act.getLayoutInflater().inflate(layoutID, null); |
| 51 |
Button install = mView.findViewById(R.id.updates_pane_button); |
|
| 52 | 55 |
|
| 53 |
install.setOnClickListener( new View.OnClickListener() |
|
| 56 |
Button button = mView.findViewById(R.id.updates_pane_button); |
|
| 57 |
|
|
| 58 |
button.setOnClickListener( new View.OnClickListener() |
|
| 54 | 59 |
{
|
| 55 | 60 |
@Override |
| 56 | 61 |
public void onClick(View v) |
| ... | ... | |
| 63 | 68 |
title.setText(info.mObjectLongName); |
| 64 | 69 |
TextView version = mView.findViewById(R.id.updates_pane_version); |
| 65 | 70 |
String strVersion = info.mUpdateObject |
| 66 |
? JsonWriter.VERSION_OBJECT_MAJOR+"."+info.mObjectMinorVersion |
|
| 67 |
: JsonWriter.VERSION_EXTRAS_MAJOR+"."+info.mExtrasMinorVersion; |
|
| 71 |
? "v. "+JsonWriter.VERSION_OBJECT_MAJOR+"."+info.mObjectMinorVersion
|
|
| 72 |
: "v. "+JsonWriter.VERSION_EXTRAS_MAJOR+"."+info.mExtrasMinorVersion;
|
|
| 68 | 73 |
version.setText(strVersion); |
| 69 | 74 |
TextView description = mView.findViewById(R.id.updates_pane_description); |
| 70 | 75 |
description.setText(info.mDescription); |
| ... | ... | |
| 72 | 77 |
ImageView image = mView.findViewById(R.id.updates_pane_image); |
| 73 | 78 |
image.setBackgroundResource(R.drawable.unknown_icon); |
| 74 | 79 |
|
| 80 |
image.setLayoutParams(pImage); |
|
| 81 |
mView.setLayoutParams(pView); |
|
| 82 |
|
|
| 83 |
title.setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize); |
|
| 84 |
version.setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize); |
|
| 85 |
description.setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize); |
|
| 86 |
button.setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize); |
|
| 87 |
|
|
| 88 |
title.setLayoutParams(pText); |
|
| 89 |
version.setLayoutParams(pText); |
|
| 90 |
description.setLayoutParams(pText); |
|
| 91 |
button.setLayoutParams(pButt); |
|
| 92 |
|
|
| 75 | 93 |
return mView; |
| 76 | 94 |
} |
| 77 | 95 |
} |
| src/main/java/org/distorted/dialogs/RubikDialogUpdates.java | ||
|---|---|---|
| 51 | 51 |
private TextView mText; |
| 52 | 52 |
private ScrollView mScroll; |
| 53 | 53 |
private LinearLayout mLayout; |
| 54 |
private int mMargin, mSize, mFontSize; |
|
| 54 | 55 |
|
| 55 | 56 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 56 | 57 |
|
| ... | ... | |
| 79 | 80 |
|
| 80 | 81 |
DisplayMetrics displaymetrics = new DisplayMetrics(); |
| 81 | 82 |
act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); |
| 82 |
final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE; |
|
| 83 |
final float okSize = displaymetrics.widthPixels * RubikActivity.DIALOG_BUTTON_SIZE; |
|
| 83 |
int w= displaymetrics.widthPixels; |
|
| 84 |
int h= displaymetrics.heightPixels; |
|
| 85 |
final float titleSize= w*RubikActivity.MENU_BIG_TEXT_SIZE; |
|
| 86 |
final float okSize = w*RubikActivity.DIALOG_BUTTON_SIZE; |
|
| 87 |
mMargin = (int)(w*RubikActivity.MEDIUM_MARGIN); |
|
| 88 |
mSize = (int)(h*0.19f); |
|
| 89 |
mFontSize = (int)(h*0.02f); |
|
| 84 | 90 |
|
| 85 | 91 |
TextView title = (TextView) inflater.inflate(R.layout.dialog_title, null); |
| 86 | 92 |
title.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize); |
| ... | ... | |
| 119 | 125 |
} |
| 120 | 126 |
}); |
| 121 | 127 |
|
| 128 |
RubikNetwork network = RubikNetwork.getInstance(); |
|
| 129 |
network.signUpForUpdates(this); |
|
| 130 |
|
|
| 122 | 131 |
return dialog; |
| 123 | 132 |
} |
| 124 | 133 |
|
| ... | ... | |
| 129 | 138 |
{
|
| 130 | 139 |
super.onResume(); |
| 131 | 140 |
|
| 132 |
RubikNetwork network = RubikNetwork.getInstance(); |
|
| 133 |
network.signUpForUpdates(this); |
|
| 134 |
|
|
| 135 | 141 |
Window window = getDialog().getWindow(); |
| 136 | 142 |
Context context = getContext(); |
| 137 | 143 |
|
| ... | ... | |
| 145 | 151 |
params.height = (int)(0.75f*height); |
| 146 | 152 |
window.setAttributes(params); |
| 147 | 153 |
|
| 148 |
int textHeight = (int)(0.8f*params.height);
|
|
| 154 |
int textHeight = (int)(0.75f*params.height);
|
|
| 149 | 155 |
mText.setHeight(textHeight); |
| 156 |
mLayout.setMinimumHeight(textHeight); |
|
| 150 | 157 |
} |
| 151 | 158 |
} |
| 152 | 159 |
|
| ... | ... | |
| 166 | 173 |
} |
| 167 | 174 |
else |
| 168 | 175 |
{
|
| 176 |
//mScroll.setVerticalScrollBarEnabled(false); |
|
| 177 |
//mText.setText(act.getString(R.string.no_updates)); |
|
| 178 |
|
|
| 179 |
int imagH = (int)(mSize*0.52f); |
|
| 180 |
int textH = (int)(mSize*0.20f); |
|
| 181 |
int buttH = (int)(mSize*0.35f); |
|
| 182 |
|
|
| 183 |
LinearLayout.LayoutParams pI = new LinearLayout.LayoutParams( imagH,imagH ); |
|
| 184 |
pI.setMargins(mMargin/2, mMargin/2, mMargin/2, mMargin/2 ); |
|
| 185 |
LinearLayout.LayoutParams pV = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, mSize ); |
|
| 186 |
pV.setMargins(mMargin, mMargin, mMargin, 0); |
|
| 187 |
LinearLayout.LayoutParams pT = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, textH ); |
|
| 188 |
LinearLayout.LayoutParams pB = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, buttH ); |
|
| 189 |
|
|
| 169 | 190 |
mText.setVisibility(View.GONE); |
| 170 | 191 |
|
| 171 | 192 |
if( mLayout!=null ) |
| ... | ... | |
| 174 | 195 |
{
|
| 175 | 196 |
RubikUpdates.UpdateInfo info = updates.getNewUpdate(i); |
| 176 | 197 |
RubikDialogUpdateView rubikView = new RubikDialogUpdateView(); |
| 177 |
View pane = rubikView.createView(act,info,true);
|
|
| 198 |
View pane = rubikView.createView(act,info,mFontSize,true,pI,pV,pT,pB);
|
|
| 178 | 199 |
mLayout.addView(pane); |
| 179 | 200 |
} |
| 180 | 201 |
for(int i=0; i<numU; i++) |
| 181 | 202 |
{
|
| 182 | 203 |
RubikUpdates.UpdateInfo info = updates.getUpdUpdate(i); |
| 183 | 204 |
RubikDialogUpdateView rubikView = new RubikDialogUpdateView(); |
| 184 |
View pane = rubikView.createView(act,info,false);
|
|
| 205 |
View pane = rubikView.createView(act,info,mFontSize,false,pI,pV,pT,pB);
|
|
| 185 | 206 |
mLayout.addView(pane); |
| 186 | 207 |
} |
| 187 | 208 |
} |
| src/main/java/org/distorted/main/RubikActivity.java | ||
|---|---|---|
| 68 | 68 |
public class RubikActivity extends AppCompatActivity |
| 69 | 69 |
{
|
| 70 | 70 |
public static final float PADDING = 0.01f; |
| 71 |
public static final float MARGIN = 0.004f; |
|
| 71 |
public static final float SMALL_MARGIN = 0.004f; |
|
| 72 |
public static final float MEDIUM_MARGIN = 0.015f; |
|
| 72 | 73 |
public static final float LARGE_MARGIN = 0.025f; |
| 73 | 74 |
public static final float BUTTON_TEXT_SIZE = 0.05f; |
| 74 | 75 |
public static final float TITLE_TEXT_SIZE = 0.06f; |
| src/main/java/org/distorted/screens/RubikScreenPattern.java | ||
|---|---|---|
| 207 | 207 |
private void setupTextView(final RubikActivity act, final float width) |
| 208 | 208 |
{
|
| 209 | 209 |
int padding = (int)(width*RubikActivity.PADDING); |
| 210 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 210 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 211 | 211 |
|
| 212 | 212 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,2.0f); |
| 213 | 213 |
params.topMargin = margin; |
| src/main/java/org/distorted/screens/RubikScreenPlay.java | ||
|---|---|---|
| 131 | 131 |
|
| 132 | 132 |
private void setupObjectButton(final RubikActivity act, final float width) |
| 133 | 133 |
{
|
| 134 |
final int margin = (int)(width*RubikActivity.MARGIN); |
|
| 134 |
final int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 135 | 135 |
final int lMargin = (int)(width*RubikActivity.LARGE_MARGIN); |
| 136 | 136 |
final int icon = RubikActivity.getDrawable(R.drawable.ui_small_cube_menu,R.drawable.ui_medium_cube_menu, R.drawable.ui_big_cube_menu, R.drawable.ui_huge_cube_menu); |
| 137 | 137 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT,1.0f); |
| ... | ... | |
| 164 | 164 |
|
| 165 | 165 |
private void setupPlayButton(final RubikActivity act, final float width) |
| 166 | 166 |
{
|
| 167 |
final int margin = (int)(width*RubikActivity.MARGIN); |
|
| 167 |
final int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 168 | 168 |
|
| 169 | 169 |
mPlayButton = new TransparentButton(act, R.string.play, mButtonSize); |
| 170 | 170 |
|
| ... | ... | |
| 201 | 201 |
|
| 202 | 202 |
private void setupMenuButton(final RubikActivity act, final float width) |
| 203 | 203 |
{
|
| 204 |
final int margin = (int)(width*RubikActivity.MARGIN); |
|
| 204 |
final int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 205 | 205 |
final int icon = RubikActivity.getDrawable(R.drawable.ui_small_menu,R.drawable.ui_medium_menu, R.drawable.ui_big_menu, R.drawable.ui_huge_menu); |
| 206 | 206 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT,1.0f); |
| 207 | 207 |
mMenuButton = new TransparentImageButton(act, icon, TransparentImageButton.GRAVITY_MIDDLE, params); |
| ... | ... | |
| 384 | 384 |
mMenuPopup = new PopupWindow(act); |
| 385 | 385 |
mMenuPopup.setContentView(layout); |
| 386 | 386 |
mMenuPopup.setFocusable(true); |
| 387 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 387 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 388 | 388 |
int padding = (int)(width*RubikActivity.PADDING); |
| 389 | 389 |
|
| 390 | 390 |
mMenuLayoutWidth = (int)(width/2); |
| ... | ... | |
| 637 | 637 |
} |
| 638 | 638 |
|
| 639 | 639 |
float width = act.getScreenWidthInPixels(); |
| 640 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 640 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 641 | 641 |
int padding = (int)(width*RubikActivity.PADDING); |
| 642 | 642 |
int butWidth = mPlayLayoutWidth - 2*padding; |
| 643 | 643 |
int butHeight= (int)mMenuItemSize; |
| src/main/java/org/distorted/screens/RubikScreenSolution.java | ||
|---|---|---|
| 152 | 152 |
private void setupTextView(final RubikActivity act, final float width) |
| 153 | 153 |
{
|
| 154 | 154 |
int padding = (int)(width*RubikActivity.PADDING); |
| 155 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 155 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 156 | 156 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,2.0f); |
| 157 | 157 |
params.topMargin = margin; |
| 158 | 158 |
params.bottomMargin = margin; |
| src/main/java/org/distorted/screens/RubikScreenSolver.java | ||
|---|---|---|
| 178 | 178 |
{
|
| 179 | 179 |
mColorButton = new ImageButton[mNumFaces]; |
| 180 | 180 |
int padding = (int)(width*RubikActivity.PADDING); |
| 181 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
| 181 |
int margin = (int)(width*RubikActivity.SMALL_MARGIN);
|
|
| 182 | 182 |
|
| 183 | 183 |
for(int i=0; i<mNumFaces; i++) |
| 184 | 184 |
{
|
| src/main/res/layout/dialog_updates.xml | ||
|---|---|---|
| 10 | 10 |
android:id="@+id/updates_main_layout" |
| 11 | 11 |
android:layout_width="match_parent" |
| 12 | 12 |
android:layout_height="wrap_content" |
| 13 |
android:gravity="center|fill_horizontal" |
|
| 14 | 13 |
android:background="@color/black" |
| 15 |
android:paddingLeft="10dp" |
|
| 16 |
android:paddingRight="10dp" |
|
| 17 |
android:paddingTop="10dp" |
|
| 18 | 14 |
android:paddingBottom="10dp" |
| 19 | 15 |
android:orientation="vertical"> |
| 20 | 16 |
|
| src/main/res/layout/dialog_updates_pane.xml | ||
|---|---|---|
| 3 | 3 |
xmlns:android="http://schemas.android.com/apk/res/android" |
| 4 | 4 |
android:layout_width="match_parent" |
| 5 | 5 |
android:layout_height="wrap_content" |
| 6 |
android:layout_margin="10dp" |
|
| 7 | 6 |
android:background="@color/grey" |
| 7 |
android:padding="8dp" |
|
| 8 | 8 |
android:orientation="horizontal"> |
| 9 | 9 |
|
| 10 | 10 |
<ImageView |
| 11 |
android:id="@+id/updates_pane_image" |
|
| 11 |
android:id="@+id/updates_pane_image" |
|
| 12 |
android:scaleType="fitCenter" |
|
| 12 | 13 |
android:layout_width="wrap_content" |
| 13 |
android:layout_height="wrap_content" |
|
| 14 |
android:layout_margin="10dp"/> |
|
| 14 |
android:layout_height="wrap_content"/> |
|
| 15 | 15 |
|
| 16 | 16 |
<LinearLayout |
| 17 | 17 |
android:layout_width="match_parent" |
| 18 |
android:layout_height="wrap_content"
|
|
| 18 |
android:layout_height="match_parent"
|
|
| 19 | 19 |
android:orientation="vertical" |
| 20 |
android:layout_marginStart="8dp" |
|
| 21 |
|
|
| 20 | 22 |
android:layout_gravity="center_vertical"> |
| 21 | 23 |
|
| 22 | 24 |
<TextView |
| 23 | 25 |
android:id="@+id/updates_pane_title" |
| 26 |
android:gravity="center_vertical" |
|
| 24 | 27 |
android:layout_width="match_parent" |
| 25 | 28 |
android:layout_height="wrap_content" |
| 26 | 29 |
android:textStyle="bold"/> |
| 27 | 30 |
<TextView |
| 28 | 31 |
android:id="@+id/updates_pane_version" |
| 32 |
android:gravity="center_vertical" |
|
| 29 | 33 |
android:layout_width="wrap_content" |
| 30 | 34 |
android:layout_height="wrap_content"/> |
| 31 |
<TextView |
|
| 35 |
|
|
| 36 |
<TextView |
|
| 32 | 37 |
android:id="@+id/updates_pane_description" |
| 38 |
android:gravity="center_vertical" |
|
| 33 | 39 |
android:layout_width="wrap_content" |
| 34 | 40 |
android:layout_height="wrap_content"/> |
| 41 |
|
|
| 35 | 42 |
<Button |
| 36 | 43 |
android:id="@+id/updates_pane_button" |
| 37 | 44 |
android:layout_width="match_parent" |
| 38 | 45 |
android:layout_height="wrap_content" |
| 39 | 46 |
android:backgroundTint="@color/black" |
| 40 |
android:layout_marginEnd="10dp" |
|
| 41 | 47 |
android:text="@string/install" |
| 42 |
android:gravity="center_vertical"/> |
|
| 48 |
android:gravity="center"/> |
|
| 49 |
|
|
| 43 | 50 |
</LinearLayout> |
| 44 | 51 |
</LinearLayout> |
Also available in: Unified diff
Downloading updates: dialog progress.