Commit 67331f4e by sikang

update fake activity

parent d4f340bd
......@@ -13,6 +13,8 @@ def rename_api(path):
api_map = line.replace("rewrite ^/","").replace("/(.+)","").replace("$ /","*-*").replace(" last;","").replace("\n","") \
.replace("/$1","").replace("/$2","").replace("/$3","").replace("/$4","").replace("/$5","") \
.split("*-*")
api_map[0].replace(" ","")
api_map[1].replace(" ","")
# print(api_map[1]+ " -> " + api_map[0])
with open(path, "r", encoding="utf-8") as api_file:
......
......@@ -2,28 +2,21 @@ package com.common.activity;
import android.app.Dialog;
import android.content.Context;
import android.net.Uri;
import android.provider.ContactsContract;
import android.support.annotation.NonNull;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.common.base.BaseActivity;
import com.common.bean.ProductBean;
import com.common.toolbox.app_utils.DeviceInfo;
import com.common.toolbox.tracker.TrackEvent;
import com.common.widget.CircleLayout;
import com.common.widget.PenetrateFrameLayout;
import com.common.widget.TopBar;
import com.common.widget.TouchView;
import com.facebook.accountkit.AccountKitError;
import com.facebook.accountkit.AccountKitLoginResult;
import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
......@@ -37,15 +30,9 @@ import java.util.Random;
import tech.starwin.BuildConfig;
import tech.starwin.LibConfig;
import tech.starwin.R;
import tech.starwin.base.RecyclerViewHolder;
import tech.starwin.impl.OnEventClickListener;
import tech.starwin.impl.OnNoShakeClickListener;
import tech.starwin.mvp.ui.adapter.ReviewProductAdapter;
import tech.starwin.network.Gateway;
import tech.starwin.utils.LoginManager;
import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
import tech.starwin.utils.collection.UploadManager;
import tech.starwin.utils.context_utils.ActivityJumper;
import tech.starwin.utils.ui_utils.DialogFactory;
import tech.starwin.utils.ui_utils.UIHelper;
......@@ -85,11 +72,28 @@ public class ReviewHookActivity extends BaseActivity {
@Override
public void initView() {
if(BuildConfig.HIBERNATION){
findViewById(R.id.activity_review_content).setVisibility(View.GONE);
findViewById(R.id.activity_review_certify_btn).setVisibility(View.GONE);
findViewById(R.id.activity_review_myloan_btn).setVisibility(View.GONE);
findViewById(R.id.activity_review_helpCenter_btn).setVisibility(View.GONE);
if (BuildConfig.HIBERNATION) {
findViewById(R.id.activity_review_conversion_btn).setOnClickListener(v -> {
String[] unit = new String[]{"USA", "EUR", "CNY", "JPY", "GBP"};
double[] exchange = new double[]{0.00007050d, 0.00006456d, 0.0005031d, 0.007592d, 0.00005716d};
DialogFactory.createMenuDialog(ReviewHookActivity.this, unit, (dialog, which) -> {
dialog.dismiss();
EditText before = findViewById(R.id.activity_review_before_amount_tv);
TextView after = findViewById(R.id.activity_review_after_amount_tv);
try {
double idr = Double.parseDouble(before.getText().toString());
double change = idr * exchange[which];
after.setText(String.valueOf(change));
} catch (Exception e) {
UIHelper.showToast(ReviewHookActivity.this, "input error!");
}
}).show();
});
} else {
findViewById(R.id.activity_review_exchange).setVisibility(View.GONE);
}
mUserNameTv = findViewById(R.id.activity_review_userName_tv);
mDrawer = findViewById(R.id.activity_review_drawer_layout);
......
package com.common.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Point;
import android.graphics.PointF;
import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
/**
* Created by SiKang on 2016/3/2.
*/
public class CircleLayout extends ViewGroup {
private final String TAG = "CircleLayoutDebug";
private int mWidth;
private int mHeight;
private double mLayoutRadius;
private PointF mCenterPoint;
public CircleLayout(Context context) {
super(context);
init();
}
public CircleLayout(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
mCenterPoint = new PointF();
}
@Override
public void onViewAdded(View child) {
if (getChildCount() <= 12) {
super.onViewAdded(child);
} else {
removeViewAt(getChildCount() - 1);
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
mWidth = measureHanlder(widthMeasureSpec);
mHeight = measureHanlder(heightMeasureSpec);
mCenterPoint.x = mWidth / 2;
mCenterPoint.y = mHeight / 2;
mLayoutRadius = mWidth < mHeight ? mWidth / 2 : mHeight / 2;
Log.d(TAG, "onMeasure()");
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
if (!changed)
return;
setChildLayout();
}
//设置所有子View位置
private void setChildLayout() {
int childCount = getChildCount();
double childAngle = 360 / childCount;
double layoutAngle = 270;
double rotateAngle = 0;
Log.d(TAG, "onLayout() " + childAngle);
for (int i = 0; i < childCount; i++) {
//得到子View
TouchView childView = (TouchView) getChildAt(i);
//为子View设置宽高
int childHalfWidth = 100;
int childHalfHeight = 100;
Log.d("RotateViewDebug", "fathre onLayout" + childHalfWidth);
//计算半径
double radius = mLayoutRadius - (childHalfWidth < childHalfHeight ? childHalfWidth : childHalfHeight);
//计算元素的坐标
Point viewPoint = getPoint(mCenterPoint, layoutAngle, radius);
//初始化必要参数
childView.setmParentCenterPoint(mCenterPoint);
childView.setmPointInParent(viewPoint);
childView.setNowAngle(layoutAngle);
childView.initMatrix((float) rotateAngle, childHalfWidth * 2, childHalfHeight * 2);
//设置子View的位置
childView.layout(viewPoint.x - childHalfWidth, viewPoint.y - childHalfHeight, viewPoint.x + childHalfWidth, viewPoint.y + childHalfHeight);
//更新角度
layoutAngle = (layoutAngle + childAngle) % 360;
rotateAngle = (rotateAngle + childAngle) % 360;
}
}
@Override
public void onViewRemoved(View child) {
TouchView view = (TouchView) child;
view.destory();
if (view.isNormalDestory()) {
setChildCount(getChildCount());
}
super.onViewRemoved(child);
}
public void setChildCount(int count) {
removeAllViews();
for (int i = 0; i < count; i++) {
addView(new TouchView(getContext()));
}
setChildLayout();
}
/**
* 根据圆心和角度计算下一个view的位置
*/
private Point getPoint(PointF center, double angle, double radius) {
Point point = new Point();
double angleHude = angle * Math.PI / 180;
point.x = (int) (radius * Math.cos(angleHude) + center.x);
point.y = (int) (radius * Math.sin(angleHude) + center.y);
return point;
}
//处理Spec
private int measureHanlder(int measureSpec) {
int result;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
if (specMode == MeasureSpec.EXACTLY) {
result = specSize;
} else if (specMode == MeasureSpec.AT_MOST) {
result = Math.min(100, specSize);
} else {
result = 100;
}
return result;
}
public static class TouchActionController {
private List<ViewTouchActionListener> mActionListener = new ArrayList<ViewTouchActionListener>(12);
public static TouchActionController mTouchActionController = null;
private boolean isMaxMove, isMinMove;
private TouchActionController() {
isMaxMove = false;
isMinMove = false;
}
public static TouchActionController getInstance() {
if (mTouchActionController == null) {
synchronized (TouchActionController.class) {
if (mTouchActionController == null) {
mTouchActionController = new TouchActionController();
}
}
}
return mTouchActionController;
}
public void registerTouchActionListener(ViewTouchActionListener listener) {
if (!mActionListener.contains(listener)) {
mActionListener.add(listener);
}
}
public void unRegisterActionListener(ViewTouchActionListener listener) {
if (mActionListener.contains(listener)) {
mActionListener.remove(listener);
}
}
public void notifyListener(ViewTouchActionListener sender, final int ACTION_ID, final Object... args) {
for (final ViewTouchActionListener listener : mActionListener) {
if (sender != listener) {
listener.onTouchAction(ACTION_ID, args);
}
}
}
public boolean isMaxMove() {
return isMaxMove;
}
public boolean isMinMove() {
return isMinMove;
}
public void setIsMaxMove(boolean isMaxMove) {
this.isMaxMove = isMaxMove;
}
public void setIsMinMove(boolean isMinMove) {
this.isMinMove = isMinMove;
}
}
/**
* Created by SiKang on 2016/3/3.
*/
public interface ViewTouchActionListener {
void onTouchAction(int ACTION_ID, Object... args);
}
}
......@@ -20,47 +20,65 @@
android:background="@color/gray_bg"
android:orientation="vertical">
<com.common.widget.CircleLayout
android:id="@+id/activity_hook_circle"
<LinearLayout
android:id="@+id/activity_review_exchange"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
<com.common.widget.TouchView
android:layout_width="100dp"
android:layout_height="100dp"
android:alpha="50" />
</com.common.widget.CircleLayout>
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="IDR"/>
<EditText
android:id="@+id/activity_review_before_amount_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="input amount"
android:inputType="numberDecimal"
android:text="1000000"
android:paddingLeft="10dp"
android:textSize="30sp" />
<Button
android:id="@+id/activity_review_conversion_btn"
style="@style/main_color_roundBtn"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Conversion" />
<TextView
android:id="@+id/activity_review_unit_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="USD"/>
<TextView
android:id="@+id/activity_review_after_amount_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="70.4722"
android:padding="10dp"
android:paddingLeft="10dp"
android:background="@color/gray_bg"
android:textSize="30sp" />
</LinearLayout>
<ImageView
android:layout_width="match_parent"
......@@ -77,6 +95,7 @@
android:visibility="gone" />
</LinearLayout>
</com.common.widget.PenetrateFrameLayout>
<LinearLayout
......@@ -199,7 +218,8 @@
android:layout_height="50dp"
android:background="@drawable/selector_recycler_item"
android:gravity="center_vertical"
android:paddingLeft="15dp">
android:paddingLeft="15dp"
android:visibility="gone">
<TextView
style="@style/span_text"
......@@ -262,15 +282,14 @@
android:background="@drawable/selector_recycler_item"
android:gravity="center_vertical"
android:paddingLeft="15dp"
>
android:visibility="gone">
<TextView
style="@style/span_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="@string/text_me_policy" />
android:layout_marginLeft="10dp" />
</com.common.widget.SpanButton>
<TextView
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment