Compare commits

...

No commits in common. 'main' and 'master' have entirely different histories.
main ... master

@ -0,0 +1,113 @@
package net.micode.notes.tool;
public class Point {
public static int BITMAP_NORMAL = 0; // 正常
public static int BITMAP_ERROR = 1; // 错误
public static int BITMAP_PRESS = 2; // 按下
//九宫格中的点的下标(即每个点代表一个值)
private String index;
//点的状态
private int state;
//点的坐标
private float x;
private float y;
public Point() {
super();
}
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public String getIndex() {
return index;
}
public int getState() {
return state;
}
public float getX() {
return x;
}
public float getY() {
return y;
}
public void setIndex(String index) {
this.index = index;
}
public void setState(int state) {
this.state = state;
}
public void setX(float x) {
this.x = x;
}
public void setY(float y) {
this.y = y;
}
/**
* 线
*
* @param a
* @param moveX
* @param moveY
* @param radius bitmap
* @return
*/
public boolean isWith(Point a, float moveX, float moveY, float radius) {
float result = (float) Math.sqrt((a.getX() - moveX)
* (a.getX() - moveX) + (a.getY() - moveY)
* (a.getY() - moveY));
if (result < 5 * radius / 4) {
return true;
}
return false;
}
public static float getDegrees(Point a, Point b) {
float degrees = 0;
float ax = a.getX();
float ay = a.getY();
float bx = b.getX();
float by = b.getY();
if (ax == bx) {
if (by > ay) {
degrees = 90;
} else {
degrees = 270;
}
} else if (by == ay) {
if (ax > bx) {
degrees = 180;
} else {
degrees = 0;
}
} else {
if (ax > bx) {
if (ay > by) { // 第三象限
degrees = 180 + (float) (Math.atan2(ay - by, ax - bx) * 180 / Math.PI);
} else { // 第二象限
degrees = 180 - (float) (Math.atan2(by - ay, ax - bx) * 180 / Math.PI);
}
} else {
if (ay > by) { // 第四象限
degrees = 360 - (float) (Math.atan2(ay - by, bx - ax) * 180 / Math.PI);
} else { // 第一象限
degrees = (float) (Math.atan2(by - ay, bx - ax) * 180 / Math.PI);
}
}
}
return degrees;
}
}

@ -0,0 +1,384 @@
package net.micode.notes.ui;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import net.micode.notes.R;
import net.micode.notes.tool.Point;
import java.util.ArrayList;
import java.util.List;
public class LockPatternView extends View {
//判断线的状态
private static boolean isLineState = true;
//判断点是否被实例化了
private static boolean isInitPoint = false;
//判断手指是否离开屏幕
private static boolean isFinish = false;
//判断手指点击屏幕时是否选中了九宫格中的点
private static boolean isSelect = false;
// 创建MyPoint的数组
private Point[][] mPoints = new Point[3][3];
// 声明屏幕的宽和高
private int mScreenHeight;
private int mScreenWidth;
// 声明点线的图片的半径
private float mPointRadius;
// 声明线的图片的高(即是半径)
private float mLineHeight;
// 声明鼠标移动的xy坐标
private float mMoveX, mMoveY;
// 声明屏幕上的宽和高的偏移量
private int mScreenHeightOffSet = 0;
private int mScreenWidthOffSet = 0;
// 创建一个画笔
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
// 声明资源图片
private Bitmap mBitmapNormal;
private Bitmap mBitmapPressed;
private Bitmap mBitmapError;
private Bitmap mLinePressed;
private Bitmap mLineError;
// 创建一个矩阵
private Matrix mMatrix = new Matrix();
// 创建MyPoint的列表
private List<Point> mPointList = new ArrayList<Point>();
// 实例化鼠标点
private Point mMousePoint = new Point();
// 用获取从activity中传过来的密码字符串
private String mPassword = "";
private final static String TAG = "LockPatternView";
private Context mContext;
private OnLockListener mListener;
public LockPatternView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContext = context;
}
public LockPatternView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public LockPatternView(Context context) {
super(context);
}
/**
* 线
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (!isInitPoint) {
initPoint(); // 先初始化
}
canvasPoint(canvas); // 开始画点
// 开始画线
if (mPointList.size() > 0) {
Point b = null;
Point a = mPointList.get(0);
for (int i = 1; i < mPointList.size(); i++) {
b = mPointList.get(i);
canvasLine(a, b, canvas);
a = b;
}
if (!isFinish) {
canvasLine(a, mMousePoint, canvas);
}
}
}
/**
*
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
mMoveX = event.getX();
mMoveY = event.getY();
// 设置移动点的坐标
mMousePoint.setX(mMoveX);
mMousePoint.setY(mMoveY);
Point mPoint = null;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
isLineState = true;
isFinish = false;
// 每次点击时就会将pointList中元素设置转化成正常状态
for (int i = 0; i < mPointList.size(); i++) {
mPointList.get(i).setState(Point.BITMAP_NORMAL);
}
// 将pointList中的元素清除掉
mPointList.clear();
// 判断是否点中了九宫格中的点
mPoint = getIsSelectedPoint(mMoveX, mMoveY);
if (mPoint != null) {
isSelect = true;
}
break;
case MotionEvent.ACTION_MOVE:
if (isSelect == true) {
mPoint = getIsSelectedPoint(mMoveX, mMoveY);
}
break;
case MotionEvent.ACTION_UP:
isFinish = true;
isSelect = false;
// 规定至少要有4个点被连线才有可能是正确
// 其他种情况都是错误的
if (mPointList.size() >= 4) {// 正确情况
for (int j = 0; j < mPointList.size(); j++) {
mPassword += mPointList.get(j).getIndex();
}
//将连线后得到的密码传给activity
mListener.getStringPassword(mPassword);
mPassword = "";
//经过activity判断传过来是否正确
if (mListener.isPassword()) {
for (int i = 0; i < mPointList.size(); i++) {
mPointList.get(i).setState(Point.BITMAP_PRESS);
}
} else {
for (int i = 0; i < mPointList.size(); i++) {
mPointList.get(i).setState(Point.BITMAP_ERROR);
}
isLineState = false;
}
// 错误情况
} else if (mPointList.size() < 4 && mPointList.size() > 1) {
for (int i = 0; i < mPointList.size(); i++) {
mPointList.get(i).setState(Point.BITMAP_ERROR);
}
isLineState = false;
// 如果只有一个点被点中时为正常情况
} else if (mPointList.size() == 1) {
for (int i = 0; i < mPointList.size(); i++) {
mPointList.get(i).setState(Point.BITMAP_NORMAL);
}
}
break;
}
// 将mPoint添加到pointList中
if (isSelect && mPoint != null) {
if (mPoint.getState() == Point.BITMAP_NORMAL) {
mPoint.setState(Point.BITMAP_PRESS);
mPointList.add(mPoint);
}
}
// 每次发生OnTouchEvent()后都刷新View
postInvalidate();
return true;
}
/**
* 线
*
* @param moveX
* @param moveY
* @return
*/
private Point getIsSelectedPoint(float moveX, float moveY) {
Point myPoint = null;
for (int i = 0; i < mPoints.length; i++) {
for (int j = 0; j < mPoints[i].length; j++) {
if (mPoints[i][j].isWith(mPoints[i][j], moveX, moveY,
mPointRadius)) {
myPoint = mPoints[i][j];
}
}
}
return myPoint;
}
/**
* 线
*
* @param a
* @param b
* @param canvas
*/
private void canvasLine(Point a, Point b, Canvas canvas) {
// Math.sqrt(平方+平方)
float abInstance = (float) Math.sqrt(
(a.getX() - b.getX()) * (a.getX() - b.getX())
+ (a.getY() - b.getY()) * (a.getY() - b.getY())
);
canvas.rotate(Point.getDegrees(a, b), a.getX(), a.getY());
mMatrix.setScale(abInstance / mLineHeight, 1);
mMatrix.postTranslate(a.getX(), a.getY());
if (isLineState) {
canvas.drawBitmap(mLinePressed, mMatrix, mPaint);
} else {
canvas.drawBitmap(mLineError, mMatrix, mPaint);
}
canvas.rotate(-Point.getDegrees(a, b), a.getX(), a.getY());
}
/**
*
*
* @param canvas
*/
private void canvasPoint(Canvas canvas) {
for (int i = 0; i < mPoints.length; i++) {
for (int j = 0; j < mPoints[i].length; j++) {
if (mPoints[i][j]==null) {
//重启view时new的变量被销毁其他未被销毁导致设置一次开启app第二次进入时
//isinitpoint 变量已为true可是点实例未初始化
initPoint();
}
if (mPoints[i][j].getState() == Point.BITMAP_NORMAL) {
canvas.drawBitmap(mBitmapNormal,
mPoints[i][j].getX() - mPointRadius,
mPoints[i][j].getY() - mPointRadius, mPaint);
} else if (mPoints[i][j].getState() == Point.BITMAP_PRESS) {
canvas.drawBitmap(mBitmapPressed,
mPoints[i][j].getX() - mPointRadius,
mPoints[i][j].getY() - mPointRadius, mPaint);
} else {
canvas.drawBitmap(mBitmapError,
mPoints[i][j].getX() - mPointRadius,
mPoints[i][j].getY() - mPointRadius, mPaint);
}
}
}
}
private void minitPoint(){
/**
*
*/
mPoints[0][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[0][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[0][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[1][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[1][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[1][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[2][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
mPoints[2][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
mPoints[2][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
// 设置九宫格中的各个index
int index = 1;
for (int i = 0; i < mPoints.length; i++) {
for (int j = 0; j < mPoints[i].length; j++) {
mPoints[i][j].setIndex(index + "");
// 在没有任何操作的情况下默認点的状态
mPoints[i][j].setState(Point.BITMAP_NORMAL);
index++;
}
}
}
/**
*
*/
private void initPoint() {
// 获取View的宽高
mScreenWidth = getWidth();
mScreenHeight = getHeight();
if (mScreenHeight > mScreenWidth) {
// 获取y轴上的偏移量
mScreenHeightOffSet = (mScreenHeight - mScreenWidth) / 2;
// 将屏幕高的变量设置成与宽相等目的是为了new Point(x,y)时方便操作
mScreenHeight = mScreenWidth;
} else {
// 获取x轴上的偏移量
mScreenWidthOffSet = (mScreenWidth - mScreenHeight) / 2;
// 将屏幕宽的变量设置成与高相等目的是为了new Point(x,y)时方便操作
mScreenWidth = mScreenHeight;
}
/**
*
*/
mBitmapError = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap_error);
mBitmapNormal = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap_normal);
mBitmapPressed = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap_pressed);
mLineError = BitmapFactory.decodeResource(getResources(), R.drawable.line_error);
mLinePressed = BitmapFactory.decodeResource(getResources(), R.drawable.line_pressed);
mPointRadius = mBitmapNormal.getWidth() / 2;
mLineHeight = mLinePressed.getHeight();
/**
*
*/
mPoints[0][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[0][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[0][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight / 4);
mPoints[1][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[1][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[1][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight / 2);
mPoints[2][0] = new Point(mScreenWidthOffSet + mScreenWidth / 4,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
mPoints[2][1] = new Point(mScreenWidthOffSet + mScreenWidth / 2,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
mPoints[2][2] = new Point(mScreenWidthOffSet + mScreenWidth * 3 / 4,
mScreenHeightOffSet + mScreenHeight * 3 / 4);
// 设置九宫格中的各个index
int index = 1;
for (int i = 0; i < mPoints.length; i++) {
for (int j = 0; j < mPoints[i].length; j++) {
mPoints[i][j].setIndex(index + "");
// 在没有任何操作的情况下默認点的状态
mPoints[i][j].setState(Point.BITMAP_NORMAL);
index++;
}
}
// 将isInitPoint设置为true
isInitPoint = true;
}
public interface OnLockListener {
public void getStringPassword(String password);
public boolean isPassword();
}
public void setLockListener(OnLockListener listener) {
this.mListener = listener;
}
}

@ -0,0 +1,95 @@
package net.micode.notes.ui;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import net.micode.notes.model.WorkingNote;
import net.micode.notes.R;
import net.micode.notes.ui.LockPatternView;
public class SetLockActivity extends AppCompatActivity {
private TextView mTitleTv;
private LockPatternView mLockPatternView;
// private LinearLayout mBottomLayout;
private Button mClearBtn;
// private Button mConfirmBtn;
private String mPassword;
/**
*
*/
private boolean isFirst = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_lock);
initViews();
initEvents();
}
private void initEvents() {
mLockPatternView.setLockListener(new LockPatternView.OnLockListener() {
@Override
public void getStringPassword(String password) {
if (isFirst) {
mPassword = password;
mTitleTv.setText("再次输入手势密码");
isFirst = false;
mClearBtn.setVisibility(View.VISIBLE);
} else {
if (password.equals(mPassword)) {
Intent pre = getIntent();
//将密码写入数据库
long noteId = pre.getLongExtra(Intent.EXTRA_UID, 0);
WorkingNote mWorkingNote = WorkingNote.load(SetLockActivity.this,noteId);
mWorkingNote.setPasscode(password);
boolean saved = mWorkingNote.saveNote();//保存便签
Intent intent = new Intent(SetLockActivity.this, NoteEditActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra("lock",0);
intent.putExtra(Intent.EXTRA_UID, noteId);
startActivity(intent);
SetLockActivity.this.finish();
}else {
Toast.makeText(SetLockActivity.this,"两次密码不一致,请重新设置",Toast.LENGTH_SHORT).show();
mPassword = "";
mTitleTv.setText("设置手势密码");
isFirst = true;
mClearBtn.setVisibility(View.GONE);
}
}
}
@Override
public boolean isPassword() {
return false;
}
});
mClearBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPassword = "";
isFirst = true;
mClearBtn.setVisibility(View.GONE);
}
});
}
private void initViews() {
mTitleTv = (TextView) findViewById(R.id.tv_activity_set_lock_title);
mLockPatternView = (LockPatternView) findViewById(R.id.lockView);
mClearBtn = (Button) findViewById(R.id.btn_password_clear);
}
}

@ -0,0 +1,58 @@
package net.micode.notes.ui;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import net.micode.notes.model.WorkingNote;
import net.micode.notes.R;
import net.micode.notes.ui.LockPatternView;
public class UnlockActivity extends AppCompatActivity {
private LockPatternView mLockPatternView;
private String mPasswordStr;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lock);
mLockPatternView = (LockPatternView) findViewById(R.id.lockView);
Intent pre = getIntent();
final Long noteId = pre.getLongExtra(Intent.EXTRA_UID, 0);
mLockPatternView.setLockListener(new LockPatternView.OnLockListener() {
WorkingNote mWorkingNote = WorkingNote.load(UnlockActivity.this,noteId);
String password = mWorkingNote.getPasscode();
@Override
public void getStringPassword(String password) {
mPasswordStr = password;
}
@Override
public boolean isPassword() {
if (mPasswordStr.equals(password)) {
Toast.makeText(UnlockActivity.this, "密码正确", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(UnlockActivity.this, NoteEditActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra("lock",0);
intent.putExtra(Intent.EXTRA_UID, noteId);
startActivity(intent);
UnlockActivity.this.finish();
//TODO comment or not
//return true;
} else {
Toast.makeText(UnlockActivity.this, "密码不正确", Toast.LENGTH_SHORT).show();
}
return false;
}
});
}
}

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="lockView" type="id">123</item>
<item name="iv_lock" type="id">123</item>
<item name="tv_activity_set_lock_title" type="id">123</item>
<item name="btn_password_clear" type="id">123</item>
</resources>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="bitmap_error">错误</drawable>
<drawable name="bitmap_normal">进行</drawable>
<drawable name="bitmap_pressed">修改</drawable>
<drawable name="line_error">行错误</drawable>
<drawable name="line_pressed">行修改</drawable>
<drawable name="lock" />
</resources>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="note_passcode_deleted">删除密码</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="lockView" type="id">123</item>
<item name="iv_lock" type="id">123</item>
<item name="tv_activity_set_lock_title" type="id">123</item>
<item name="btn_password_clear" type="id">123</item>
</resources>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="bitmap_error">错误</drawable>
<drawable name="bitmap_normal">进行</drawable>
<drawable name="bitmap_pressed">修改</drawable>
<drawable name="line_error">行错误</drawable>
<drawable name="line_pressed">行修改</drawable>
<drawable name="lock" />
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="lockView" type="id">123</item>
<item name="iv_lock" type="id">123</item>
<item name="tv_activity_set_lock_title" type="id">123</item>
<item name="btn_password_clear" type="id">123</item>
</resources>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="bitmap_error">错误</drawable>
<drawable name="bitmap_normal">进行</drawable>
<drawable name="bitmap_pressed">修改</drawable>
<drawable name="line_error">行错误</drawable>
<drawable name="line_pressed">行修改</drawable>
<drawable name="lock" />
</resources>

@ -0,0 +1,9 @@
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
project.properties
.settings/
.classpath
.project

@ -0,0 +1,2 @@
#Sun Sep 24 22:29:27 CST 2023
gradle.version=8.0

@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$USER_HOME$/.gradle/wrapper/dists/gradle-7.5.1-bin/7jzzequgds1hbszbhq3npc5ng/gradle-7.5.1" />
<option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>

@ -0,0 +1,9 @@
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
<mapping directory="$PROJECT_DIR$/app/src/main/Android" vcs="Git" />
</component>
</project>

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.micode.notes"
android:versionCode="1"
android:versionName="0.1" >
<uses-sdk android:minSdkVersion="14" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:icon="@drawable/icon_app"
android:label="@string/app_name" >
<activity
android:name=".ui.NotesListActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:launchMode="singleTop"
android:theme="@style/NoteTheme"
android:uiOptions="splitActionBarWhenNarrow"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.NoteEditActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTop"
android:theme="@style/NoteTheme" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/text_note" />
<data android:mimeType="vnd.android.cursor.item/call_note" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.INSERT_OR_EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/text_note" />
<data android:mimeType="vnd.android.cursor.item/call_note" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<provider
android:name="net.micode.notes.data.NotesProvider"
android:authorities="micode_notes"
android:multiprocess="true" />
<receiver
android:name=".widget.NoteWidgetProvider_2x"
android:label="@string/app_widget2x2" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x_info" />
</receiver>
<receiver
android:name=".widget.NoteWidgetProvider_4x"
android:label="@string/app_widget4x4" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
</receiver>
<receiver android:name=".ui.AlarmInitReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<receiver
android:name="net.micode.notes.ui.AlarmReceiver"
android:process=":remote" >
</receiver>
<activity
android:name=".ui.AlarmAlertActivity"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
</activity>
<activity
android:name="net.micode.notes.ui.NotesPreferenceActivity"
android:label="@string/preferences_title"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Holo.Light" >
</activity>
<service
android:name="net.micode.notes.gtask.remote.GTaskSyncService"
android:exported="false" >
</service>
<meta-data
android:name="android.app.default_searchable"
android:value=".ui.NoteEditActivity" />
</application>
</manifest>

@ -0,0 +1,190 @@
Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS

@ -0,0 +1,23 @@
[中文]
1. MiCode便签是小米便签的社区开源版由MIUI团队(www.miui.com) 发起并贡献第一批代码遵循NOTICE文件所描述的开源协议
今后为MiCode社区(www.micode.net) 拥有,并由社区发布和维护。
2. Bug反馈和跟踪请访问Github,
https://github.com/MiCode/Notes/issues?sort=created&direction=desc&state=open
3. 功能建议和综合讨论请访问MiCode,
http://micode.net/forum.php?mod=forumdisplay&fid=38
[English]
1. MiCode Notes is open source edition of XM notepad, it's first initiated and sponsored by MIUI team (www.miui.com).
It's opened under license described by NOTICE file. It's owned by the MiCode community (www.micode.net). In future,
the MiCode community will release and maintain this project.
2. Regarding issue tracking, please visit Github,
https://github.com/MiCode/Notes/issues?sort=created&direction=desc&state=open
3. Regarding feature request and general discussion, please visit Micode forum,
http://micode.net/forum.php?mod=forumdisplay&fid=38

@ -0,0 +1,27 @@
apply plugin: 'com.android.application'
android {
namespace "net.micode.notes"
compileSdkVersion 30
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "net.micode.notes"
minSdkVersion 30
targetSdkVersion 30
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
buildFeatures {
viewBinding true
}
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
}

@ -0,0 +1,80 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class AccountDialogTitleBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final TextView accountDialogSubtitle;
@NonNull
public final TextView accountDialogTitle;
private AccountDialogTitleBinding(@NonNull LinearLayout rootView,
@NonNull TextView accountDialogSubtitle, @NonNull TextView accountDialogTitle) {
this.rootView = rootView;
this.accountDialogSubtitle = accountDialogSubtitle;
this.accountDialogTitle = accountDialogTitle;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static AccountDialogTitleBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static AccountDialogTitleBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.account_dialog_title, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static AccountDialogTitleBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.account_dialog_subtitle;
TextView accountDialogSubtitle = ViewBindings.findChildViewById(rootView, id);
if (accountDialogSubtitle == null) {
break missingId;
}
id = R.id.account_dialog_title;
TextView accountDialogTitle = ViewBindings.findChildViewById(rootView, id);
if (accountDialogTitle == null) {
break missingId;
}
return new AccountDialogTitleBinding((LinearLayout) rootView, accountDialogSubtitle,
accountDialogTitle);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,100 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class ActivityLoginBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final EditText account;
@NonNull
public final Button cancel;
@NonNull
public final Button login;
@NonNull
public final EditText password;
private ActivityLoginBinding(@NonNull LinearLayout rootView, @NonNull EditText account,
@NonNull Button cancel, @NonNull Button login, @NonNull EditText password) {
this.rootView = rootView;
this.account = account;
this.cancel = cancel;
this.login = login;
this.password = password;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static ActivityLoginBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ActivityLoginBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.activity_login, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ActivityLoginBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.account;
EditText account = ViewBindings.findChildViewById(rootView, id);
if (account == null) {
break missingId;
}
id = R.id.cancel;
Button cancel = ViewBindings.findChildViewById(rootView, id);
if (cancel == null) {
break missingId;
}
id = R.id.login;
Button login = ViewBindings.findChildViewById(rootView, id);
if (login == null) {
break missingId;
}
id = R.id.password;
EditText password = ViewBindings.findChildViewById(rootView, id);
if (password == null) {
break missingId;
}
return new ActivityLoginBinding((LinearLayout) rootView, account, cancel, login, password);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,113 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class ActivitySplashBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final Button dummyButton;
@NonNull
public final TextView fullscreenContent;
@NonNull
public final LinearLayout fullscreenContentControls;
@NonNull
public final TextView textView;
@NonNull
public final TextView textView5;
private ActivitySplashBinding(@NonNull FrameLayout rootView, @NonNull Button dummyButton,
@NonNull TextView fullscreenContent, @NonNull LinearLayout fullscreenContentControls,
@NonNull TextView textView, @NonNull TextView textView5) {
this.rootView = rootView;
this.dummyButton = dummyButton;
this.fullscreenContent = fullscreenContent;
this.fullscreenContentControls = fullscreenContentControls;
this.textView = textView;
this.textView5 = textView5;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static ActivitySplashBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ActivitySplashBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.activity_splash, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ActivitySplashBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.dummy_button;
Button dummyButton = ViewBindings.findChildViewById(rootView, id);
if (dummyButton == null) {
break missingId;
}
id = R.id.fullscreen_content;
TextView fullscreenContent = ViewBindings.findChildViewById(rootView, id);
if (fullscreenContent == null) {
break missingId;
}
id = R.id.fullscreen_content_controls;
LinearLayout fullscreenContentControls = ViewBindings.findChildViewById(rootView, id);
if (fullscreenContentControls == null) {
break missingId;
}
id = R.id.textView;
TextView textView = ViewBindings.findChildViewById(rootView, id);
if (textView == null) {
break missingId;
}
id = R.id.textView5;
TextView textView5 = ViewBindings.findChildViewById(rootView, id);
if (textView5 == null) {
break missingId;
}
return new ActivitySplashBinding((FrameLayout) rootView, dummyButton, fullscreenContent,
fullscreenContentControls, textView, textView5);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,52 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.widget.LinearLayout;
import java.lang.NullPointerException;
import java.lang.Override;
import net.micode.notes.R;
public final class AddAccountTextBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
private AddAccountTextBinding(@NonNull LinearLayout rootView) {
this.rootView = rootView;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static AddAccountTextBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static AddAccountTextBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.add_account_text, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static AddAccountTextBinding bind(@NonNull View rootView) {
if (rootView == null) {
throw new NullPointerException("rootView");
}
return new AddAccountTextBinding((LinearLayout) rootView);
}
}

@ -0,0 +1,99 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.LinearLayout;
import android.widget.NumberPicker;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class DatetimePickerBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final NumberPicker amPm;
@NonNull
public final NumberPicker date;
@NonNull
public final NumberPicker hour;
@NonNull
public final NumberPicker minute;
private DatetimePickerBinding(@NonNull LinearLayout rootView, @NonNull NumberPicker amPm,
@NonNull NumberPicker date, @NonNull NumberPicker hour, @NonNull NumberPicker minute) {
this.rootView = rootView;
this.amPm = amPm;
this.date = date;
this.hour = hour;
this.minute = minute;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static DatetimePickerBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static DatetimePickerBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.datetime_picker, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static DatetimePickerBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.amPm;
NumberPicker amPm = ViewBindings.findChildViewById(rootView, id);
if (amPm == null) {
break missingId;
}
id = R.id.date;
NumberPicker date = ViewBindings.findChildViewById(rootView, id);
if (date == null) {
break missingId;
}
id = R.id.hour;
NumberPicker hour = ViewBindings.findChildViewById(rootView, id);
if (hour == null) {
break missingId;
}
id = R.id.minute;
NumberPicker minute = ViewBindings.findChildViewById(rootView, id);
if (minute == null) {
break missingId;
}
return new DatetimePickerBinding((LinearLayout) rootView, amPm, date, hour, minute);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,58 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.widget.EditText;
import java.lang.NullPointerException;
import java.lang.Override;
import net.micode.notes.R;
public final class DialogEditTextBinding implements ViewBinding {
@NonNull
private final EditText rootView;
@NonNull
public final EditText etFolerName;
private DialogEditTextBinding(@NonNull EditText rootView, @NonNull EditText etFolerName) {
this.rootView = rootView;
this.etFolerName = etFolerName;
}
@Override
@NonNull
public EditText getRoot() {
return rootView;
}
@NonNull
public static DialogEditTextBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static DialogEditTextBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.dialog_edit_text, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static DialogEditTextBinding bind(@NonNull View rootView) {
if (rootView == null) {
throw new NullPointerException("rootView");
}
EditText etFolerName = (EditText) rootView;
return new DialogEditTextBinding((EditText) rootView, etFolerName);
}
}

@ -0,0 +1,68 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class FolderListItemBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final TextView tvFolderName;
private FolderListItemBinding(@NonNull LinearLayout rootView, @NonNull TextView tvFolderName) {
this.rootView = rootView;
this.tvFolderName = tvFolderName;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static FolderListItemBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static FolderListItemBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.folder_list_item, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static FolderListItemBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.tv_folder_name;
TextView tvFolderName = ViewBindings.findChildViewById(rootView, id);
if (tvFolderName == null) {
break missingId;
}
return new FolderListItemBinding((LinearLayout) rootView, tvFolderName);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,392 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
import net.micode.notes.ui.NoteEditText;
public final class NoteEditBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final ImageButton addImgBtn;
@NonNull
public final ImageView btnSetBgColor;
@NonNull
public final LinearLayout fontSizeSelector;
@NonNull
public final ImageView ivAlertIcon;
@NonNull
public final ImageView ivBgBlue;
@NonNull
public final ImageView ivBgBlueSelect;
@NonNull
public final ImageView ivBgGreen;
@NonNull
public final ImageView ivBgGreenSelect;
@NonNull
public final ImageView ivBgRed;
@NonNull
public final ImageView ivBgRedSelect;
@NonNull
public final ImageView ivBgWhite;
@NonNull
public final ImageView ivBgWhiteSelect;
@NonNull
public final ImageView ivBgYellow;
@NonNull
public final ImageView ivBgYellowSelect;
@NonNull
public final ImageView ivLargeSelect;
@NonNull
public final ImageView ivMediumSelect;
@NonNull
public final ImageView ivSmallSelect;
@NonNull
public final ImageView ivSuperSelect;
@NonNull
public final FrameLayout llFontLarge;
@NonNull
public final FrameLayout llFontNormal;
@NonNull
public final FrameLayout llFontSmall;
@NonNull
public final FrameLayout llFontSuper;
@NonNull
public final LinearLayout noteBgColorSelector;
@NonNull
public final LinearLayout noteEditList;
@NonNull
public final NoteEditText noteEditView;
@NonNull
public final LinearLayout noteTitle;
@NonNull
public final LinearLayout svNoteEdit;
@NonNull
public final TextView textNum;
@NonNull
public final ImageButton toimage;
@NonNull
public final TextView tvAlertDate;
@NonNull
public final TextView tvModifiedDate;
private NoteEditBinding(@NonNull FrameLayout rootView, @NonNull ImageButton addImgBtn,
@NonNull ImageView btnSetBgColor, @NonNull LinearLayout fontSizeSelector,
@NonNull ImageView ivAlertIcon, @NonNull ImageView ivBgBlue,
@NonNull ImageView ivBgBlueSelect, @NonNull ImageView ivBgGreen,
@NonNull ImageView ivBgGreenSelect, @NonNull ImageView ivBgRed,
@NonNull ImageView ivBgRedSelect, @NonNull ImageView ivBgWhite,
@NonNull ImageView ivBgWhiteSelect, @NonNull ImageView ivBgYellow,
@NonNull ImageView ivBgYellowSelect, @NonNull ImageView ivLargeSelect,
@NonNull ImageView ivMediumSelect, @NonNull ImageView ivSmallSelect,
@NonNull ImageView ivSuperSelect, @NonNull FrameLayout llFontLarge,
@NonNull FrameLayout llFontNormal, @NonNull FrameLayout llFontSmall,
@NonNull FrameLayout llFontSuper, @NonNull LinearLayout noteBgColorSelector,
@NonNull LinearLayout noteEditList, @NonNull NoteEditText noteEditView,
@NonNull LinearLayout noteTitle, @NonNull LinearLayout svNoteEdit, @NonNull TextView textNum,
@NonNull ImageButton toimage, @NonNull TextView tvAlertDate,
@NonNull TextView tvModifiedDate) {
this.rootView = rootView;
this.addImgBtn = addImgBtn;
this.btnSetBgColor = btnSetBgColor;
this.fontSizeSelector = fontSizeSelector;
this.ivAlertIcon = ivAlertIcon;
this.ivBgBlue = ivBgBlue;
this.ivBgBlueSelect = ivBgBlueSelect;
this.ivBgGreen = ivBgGreen;
this.ivBgGreenSelect = ivBgGreenSelect;
this.ivBgRed = ivBgRed;
this.ivBgRedSelect = ivBgRedSelect;
this.ivBgWhite = ivBgWhite;
this.ivBgWhiteSelect = ivBgWhiteSelect;
this.ivBgYellow = ivBgYellow;
this.ivBgYellowSelect = ivBgYellowSelect;
this.ivLargeSelect = ivLargeSelect;
this.ivMediumSelect = ivMediumSelect;
this.ivSmallSelect = ivSmallSelect;
this.ivSuperSelect = ivSuperSelect;
this.llFontLarge = llFontLarge;
this.llFontNormal = llFontNormal;
this.llFontSmall = llFontSmall;
this.llFontSuper = llFontSuper;
this.noteBgColorSelector = noteBgColorSelector;
this.noteEditList = noteEditList;
this.noteEditView = noteEditView;
this.noteTitle = noteTitle;
this.svNoteEdit = svNoteEdit;
this.textNum = textNum;
this.toimage = toimage;
this.tvAlertDate = tvAlertDate;
this.tvModifiedDate = tvModifiedDate;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static NoteEditBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteEditBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_edit, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteEditBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.add_img_btn;
ImageButton addImgBtn = ViewBindings.findChildViewById(rootView, id);
if (addImgBtn == null) {
break missingId;
}
id = R.id.btn_set_bg_color;
ImageView btnSetBgColor = ViewBindings.findChildViewById(rootView, id);
if (btnSetBgColor == null) {
break missingId;
}
id = R.id.font_size_selector;
LinearLayout fontSizeSelector = ViewBindings.findChildViewById(rootView, id);
if (fontSizeSelector == null) {
break missingId;
}
id = R.id.iv_alert_icon;
ImageView ivAlertIcon = ViewBindings.findChildViewById(rootView, id);
if (ivAlertIcon == null) {
break missingId;
}
id = R.id.iv_bg_blue;
ImageView ivBgBlue = ViewBindings.findChildViewById(rootView, id);
if (ivBgBlue == null) {
break missingId;
}
id = R.id.iv_bg_blue_select;
ImageView ivBgBlueSelect = ViewBindings.findChildViewById(rootView, id);
if (ivBgBlueSelect == null) {
break missingId;
}
id = R.id.iv_bg_green;
ImageView ivBgGreen = ViewBindings.findChildViewById(rootView, id);
if (ivBgGreen == null) {
break missingId;
}
id = R.id.iv_bg_green_select;
ImageView ivBgGreenSelect = ViewBindings.findChildViewById(rootView, id);
if (ivBgGreenSelect == null) {
break missingId;
}
id = R.id.iv_bg_red;
ImageView ivBgRed = ViewBindings.findChildViewById(rootView, id);
if (ivBgRed == null) {
break missingId;
}
id = R.id.iv_bg_red_select;
ImageView ivBgRedSelect = ViewBindings.findChildViewById(rootView, id);
if (ivBgRedSelect == null) {
break missingId;
}
id = R.id.iv_bg_white;
ImageView ivBgWhite = ViewBindings.findChildViewById(rootView, id);
if (ivBgWhite == null) {
break missingId;
}
id = R.id.iv_bg_white_select;
ImageView ivBgWhiteSelect = ViewBindings.findChildViewById(rootView, id);
if (ivBgWhiteSelect == null) {
break missingId;
}
id = R.id.iv_bg_yellow;
ImageView ivBgYellow = ViewBindings.findChildViewById(rootView, id);
if (ivBgYellow == null) {
break missingId;
}
id = R.id.iv_bg_yellow_select;
ImageView ivBgYellowSelect = ViewBindings.findChildViewById(rootView, id);
if (ivBgYellowSelect == null) {
break missingId;
}
id = R.id.iv_large_select;
ImageView ivLargeSelect = ViewBindings.findChildViewById(rootView, id);
if (ivLargeSelect == null) {
break missingId;
}
id = R.id.iv_medium_select;
ImageView ivMediumSelect = ViewBindings.findChildViewById(rootView, id);
if (ivMediumSelect == null) {
break missingId;
}
id = R.id.iv_small_select;
ImageView ivSmallSelect = ViewBindings.findChildViewById(rootView, id);
if (ivSmallSelect == null) {
break missingId;
}
id = R.id.iv_super_select;
ImageView ivSuperSelect = ViewBindings.findChildViewById(rootView, id);
if (ivSuperSelect == null) {
break missingId;
}
id = R.id.ll_font_large;
FrameLayout llFontLarge = ViewBindings.findChildViewById(rootView, id);
if (llFontLarge == null) {
break missingId;
}
id = R.id.ll_font_normal;
FrameLayout llFontNormal = ViewBindings.findChildViewById(rootView, id);
if (llFontNormal == null) {
break missingId;
}
id = R.id.ll_font_small;
FrameLayout llFontSmall = ViewBindings.findChildViewById(rootView, id);
if (llFontSmall == null) {
break missingId;
}
id = R.id.ll_font_super;
FrameLayout llFontSuper = ViewBindings.findChildViewById(rootView, id);
if (llFontSuper == null) {
break missingId;
}
id = R.id.note_bg_color_selector;
LinearLayout noteBgColorSelector = ViewBindings.findChildViewById(rootView, id);
if (noteBgColorSelector == null) {
break missingId;
}
id = R.id.note_edit_list;
LinearLayout noteEditList = ViewBindings.findChildViewById(rootView, id);
if (noteEditList == null) {
break missingId;
}
id = R.id.note_edit_view;
NoteEditText noteEditView = ViewBindings.findChildViewById(rootView, id);
if (noteEditView == null) {
break missingId;
}
id = R.id.note_title;
LinearLayout noteTitle = ViewBindings.findChildViewById(rootView, id);
if (noteTitle == null) {
break missingId;
}
id = R.id.sv_note_edit;
LinearLayout svNoteEdit = ViewBindings.findChildViewById(rootView, id);
if (svNoteEdit == null) {
break missingId;
}
id = R.id.text_num;
TextView textNum = ViewBindings.findChildViewById(rootView, id);
if (textNum == null) {
break missingId;
}
id = R.id.toimage;
ImageButton toimage = ViewBindings.findChildViewById(rootView, id);
if (toimage == null) {
break missingId;
}
id = R.id.tv_alert_date;
TextView tvAlertDate = ViewBindings.findChildViewById(rootView, id);
if (tvAlertDate == null) {
break missingId;
}
id = R.id.tv_modified_date;
TextView tvModifiedDate = ViewBindings.findChildViewById(rootView, id);
if (tvModifiedDate == null) {
break missingId;
}
return new NoteEditBinding((FrameLayout) rootView, addImgBtn, btnSetBgColor, fontSizeSelector,
ivAlertIcon, ivBgBlue, ivBgBlueSelect, ivBgGreen, ivBgGreenSelect, ivBgRed, ivBgRedSelect,
ivBgWhite, ivBgWhiteSelect, ivBgYellow, ivBgYellowSelect, ivLargeSelect, ivMediumSelect,
ivSmallSelect, ivSuperSelect, llFontLarge, llFontNormal, llFontSmall, llFontSuper,
noteBgColorSelector, noteEditList, noteEditView, noteTitle, svNoteEdit, textNum, toimage,
tvAlertDate, tvModifiedDate);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,80 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
import net.micode.notes.ui.NoteEditText;
public final class NoteEditListItemBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final CheckBox cbEditItem;
@NonNull
public final NoteEditText etEditText;
private NoteEditListItemBinding(@NonNull LinearLayout rootView, @NonNull CheckBox cbEditItem,
@NonNull NoteEditText etEditText) {
this.rootView = rootView;
this.cbEditItem = cbEditItem;
this.etEditText = etEditText;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static NoteEditListItemBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteEditListItemBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_edit_list_item, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteEditListItemBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.cb_edit_item;
CheckBox cbEditItem = ViewBindings.findChildViewById(rootView, id);
if (cbEditItem == null) {
break missingId;
}
id = R.id.et_edit_text;
NoteEditText etEditText = ViewBindings.findChildViewById(rootView, id);
if (etEditText == null) {
break missingId;
}
return new NoteEditListItemBinding((LinearLayout) rootView, cbEditItem, etEditText);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,119 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class NoteItemBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final CheckBox checkbox;
@NonNull
public final ImageView ivAlertIcon;
@NonNull
public final FrameLayout noteItem;
@NonNull
public final TextView tvName;
@NonNull
public final TextView tvTime;
@NonNull
public final TextView tvTitle;
private NoteItemBinding(@NonNull FrameLayout rootView, @NonNull CheckBox checkbox,
@NonNull ImageView ivAlertIcon, @NonNull FrameLayout noteItem, @NonNull TextView tvName,
@NonNull TextView tvTime, @NonNull TextView tvTitle) {
this.rootView = rootView;
this.checkbox = checkbox;
this.ivAlertIcon = ivAlertIcon;
this.noteItem = noteItem;
this.tvName = tvName;
this.tvTime = tvTime;
this.tvTitle = tvTitle;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static NoteItemBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteItemBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_item, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteItemBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = android.R.id.checkbox;
CheckBox checkbox = ViewBindings.findChildViewById(rootView, id);
if (checkbox == null) {
break missingId;
}
id = R.id.iv_alert_icon;
ImageView ivAlertIcon = ViewBindings.findChildViewById(rootView, id);
if (ivAlertIcon == null) {
break missingId;
}
FrameLayout noteItem = (FrameLayout) rootView;
id = R.id.tv_name;
TextView tvName = ViewBindings.findChildViewById(rootView, id);
if (tvName == null) {
break missingId;
}
id = R.id.tv_time;
TextView tvTime = ViewBindings.findChildViewById(rootView, id);
if (tvTime == null) {
break missingId;
}
id = R.id.tv_title;
TextView tvTitle = ViewBindings.findChildViewById(rootView, id);
if (tvTitle == null) {
break missingId;
}
return new NoteItemBinding((FrameLayout) rootView, checkbox, ivAlertIcon, noteItem, tvName,
tvTime, tvTitle);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,91 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class NoteListBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final Button btnNewNote;
@NonNull
public final ListView notesList;
@NonNull
public final TextView tvTitleBar;
private NoteListBinding(@NonNull FrameLayout rootView, @NonNull Button btnNewNote,
@NonNull ListView notesList, @NonNull TextView tvTitleBar) {
this.rootView = rootView;
this.btnNewNote = btnNewNote;
this.notesList = notesList;
this.tvTitleBar = tvTitleBar;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static NoteListBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteListBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_list, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteListBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.btn_new_note;
Button btnNewNote = ViewBindings.findChildViewById(rootView, id);
if (btnNewNote == null) {
break missingId;
}
id = R.id.notes_list;
ListView notesList = ViewBindings.findChildViewById(rootView, id);
if (notesList == null) {
break missingId;
}
id = R.id.tv_title_bar;
TextView tvTitleBar = ViewBindings.findChildViewById(rootView, id);
if (tvTitleBar == null) {
break missingId;
}
return new NoteListBinding((FrameLayout) rootView, btnNewNote, notesList, tvTitleBar);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,75 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.Button;
import android.widget.LinearLayout;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class NoteListDropdownMenuBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final LinearLayout navigationBar;
@NonNull
public final Button selectionMenu;
private NoteListDropdownMenuBinding(@NonNull LinearLayout rootView,
@NonNull LinearLayout navigationBar, @NonNull Button selectionMenu) {
this.rootView = rootView;
this.navigationBar = navigationBar;
this.selectionMenu = selectionMenu;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static NoteListDropdownMenuBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteListDropdownMenuBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_list_dropdown_menu, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteListDropdownMenuBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
LinearLayout navigationBar = (LinearLayout) rootView;
id = R.id.selection_menu;
Button selectionMenu = ViewBindings.findChildViewById(rootView, id);
if (selectionMenu == null) {
break missingId;
}
return new NoteListDropdownMenuBinding((LinearLayout) rootView, navigationBar, selectionMenu);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,51 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import java.lang.NullPointerException;
import java.lang.Override;
import net.micode.notes.R;
public final class NoteListFooterBinding implements ViewBinding {
@NonNull
private final View rootView;
private NoteListFooterBinding(@NonNull View rootView) {
this.rootView = rootView;
}
@Override
@NonNull
public View getRoot() {
return rootView;
}
@NonNull
public static NoteListFooterBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static NoteListFooterBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.note_list_footer, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static NoteListFooterBinding bind(@NonNull View rootView) {
if (rootView == null) {
throw new NullPointerException("rootView");
}
return new NoteListFooterBinding(rootView);
}
}

@ -0,0 +1,81 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class SettingsHeaderBinding implements ViewBinding {
@NonNull
private final LinearLayout rootView;
@NonNull
public final TextView prefenereceSyncStatusTextview;
@NonNull
public final Button preferenceSyncButton;
private SettingsHeaderBinding(@NonNull LinearLayout rootView,
@NonNull TextView prefenereceSyncStatusTextview, @NonNull Button preferenceSyncButton) {
this.rootView = rootView;
this.prefenereceSyncStatusTextview = prefenereceSyncStatusTextview;
this.preferenceSyncButton = preferenceSyncButton;
}
@Override
@NonNull
public LinearLayout getRoot() {
return rootView;
}
@NonNull
public static SettingsHeaderBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static SettingsHeaderBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.settings_header, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static SettingsHeaderBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.prefenerece_sync_status_textview;
TextView prefenereceSyncStatusTextview = ViewBindings.findChildViewById(rootView, id);
if (prefenereceSyncStatusTextview == null) {
break missingId;
}
id = R.id.preference_sync_button;
Button preferenceSyncButton = ViewBindings.findChildViewById(rootView, id);
if (preferenceSyncButton == null) {
break missingId;
}
return new SettingsHeaderBinding((LinearLayout) rootView, prefenereceSyncStatusTextview,
preferenceSyncButton);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,80 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class Widget2xBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final ImageView widgetBgImage;
@NonNull
public final TextView widgetText;
private Widget2xBinding(@NonNull FrameLayout rootView, @NonNull ImageView widgetBgImage,
@NonNull TextView widgetText) {
this.rootView = rootView;
this.widgetBgImage = widgetBgImage;
this.widgetText = widgetText;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static Widget2xBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static Widget2xBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.widget_2x, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static Widget2xBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.widget_bg_image;
ImageView widgetBgImage = ViewBindings.findChildViewById(rootView, id);
if (widgetBgImage == null) {
break missingId;
}
id = R.id.widget_text;
TextView widgetText = ViewBindings.findChildViewById(rootView, id);
if (widgetText == null) {
break missingId;
}
return new Widget2xBinding((FrameLayout) rootView, widgetBgImage, widgetText);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,80 @@
// Generated by view binder compiler. Do not edit!
package net.micode.notes.databinding;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.viewbinding.ViewBinding;
import android.viewbinding.ViewBindings;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
import net.micode.notes.R;
public final class Widget4xBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final ImageView widgetBgImage;
@NonNull
public final TextView widgetText;
private Widget4xBinding(@NonNull FrameLayout rootView, @NonNull ImageView widgetBgImage,
@NonNull TextView widgetText) {
this.rootView = rootView;
this.widgetBgImage = widgetBgImage;
this.widgetText = widgetText;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static Widget4xBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static Widget4xBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.widget_4x, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static Widget4xBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.widget_bg_image;
ImageView widgetBgImage = ViewBindings.findChildViewById(rootView, id);
if (widgetBgImage == null) {
break missingId;
}
id = R.id.widget_text;
TextView widgetText = ViewBindings.findChildViewById(rootView, id);
if (widgetText == null) {
break missingId;
}
return new Widget4xBinding((FrameLayout) rootView, widgetBgImage, widgetText);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}

@ -0,0 +1,10 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package net.micode.notes.test;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "net.micode.notes.test";
public static final String BUILD_TYPE = "debug";
}

@ -0,0 +1,12 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package net.micode.notes;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "net.micode.notes";
public static final String BUILD_TYPE = "debug";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "0.1";
}

@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "net.micode.notes",
"variantName": "debug",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "0.1",
"outputFile": "app-debug.apk"
}
],
"elementType": "File"
}

@ -0,0 +1,2 @@
#- File Locator -
listingFile=../../apk/debug/output-metadata.json

@ -0,0 +1,2 @@
#- File Locator -
listingFile=../../../outputs/apk/androidTest/debug/output-metadata.json

@ -0,0 +1,10 @@
{
"version": 3,
"artifactType": {
"type": "COMPATIBLE_SCREEN_MANIFEST",
"kind": "Directory"
},
"applicationId": "net.micode.notes",
"variantName": "debug",
"elements": []
}

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="account_dialog_title" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\account_dialog_title.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/account_dialog_title_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="42" endOffset="14"/></Target><Target id="@+id/account_dialog_title" view="TextView"><Expressions/><location startLine="23" startOffset="4" endLine="32" endOffset="45"/></Target><Target id="@+id/account_dialog_subtitle" view="TextView"><Expressions/><location startLine="34" startOffset="4" endLine="40" endOffset="33"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_login" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\activity_login.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/activity_login_0" view="LinearLayout"><Expressions/><location startLine="1" startOffset="0" endLine="75" endOffset="14"/></Target><Target id="@+id/account" view="EditText"><Expressions/><location startLine="21" startOffset="8" endLine="26" endOffset="54"/></Target><Target id="@+id/password" view="EditText"><Expressions/><location startLine="43" startOffset="8" endLine="49" endOffset="46"/></Target><Target id="@+id/login" view="Button"><Expressions/><location startLine="60" startOffset="8" endLine="65" endOffset="49"/></Target><Target id="@+id/cancel" view="Button"><Expressions/><location startLine="66" startOffset="8" endLine="71" endOffset="31"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_splash" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\activity_splash.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_splash_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="63" endOffset="13"/></Target><Target id="@+id/textView5" view="TextView"><Expressions/><location startLine="13" startOffset="4" endLine="17" endOffset="44"/></Target><Target id="@+id/fullscreen_content" view="TextView"><Expressions/><location startLine="19" startOffset="4" endLine="28" endOffset="34"/></Target><Target id="@+id/textView" view="TextView"><Expressions/><location startLine="37" startOffset="8" endLine="41" endOffset="35"/></Target><Target id="@+id/fullscreen_content_controls" view="LinearLayout"><Expressions/><location startLine="43" startOffset="8" endLine="60" endOffset="22"/></Target><Target id="@+id/dummy_button" view="Button"><Expressions/><location startLine="52" startOffset="12" endLine="58" endOffset="53"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="add_account_text" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\add_account_text.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/add_account_text_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="31" endOffset="14"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="datetime_picker" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\datetime_picker.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/datetime_picker_0" view="LinearLayout"><Expressions/><location startLine="15" startOffset="0" endLine="55" endOffset="14"/></Target><Target id="@+id/date" view="NumberPicker"><Expressions/><location startLine="21" startOffset="4" endLine="27" endOffset="9"/></Target><Target id="@+id/hour" view="NumberPicker"><Expressions/><location startLine="29" startOffset="4" endLine="36" endOffset="9"/></Target><Target id="@+id/minute" view="NumberPicker"><Expressions/><location startLine="38" startOffset="4" endLine="45" endOffset="9"/></Target><Target id="@+id/amPm" view="NumberPicker"><Expressions/><location startLine="47" startOffset="4" endLine="54" endOffset="9"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="dialog_edit_text" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\dialog_edit_text.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.EditText" rootNodeViewId="@+id/et_foler_name"><Targets><Target id="@+id/et_foler_name" tag="layout/dialog_edit_text_0" view="EditText"><Expressions/><location startLine="17" startOffset="0" endLine="22" endOffset="41"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="folder_list_item" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\folder_list_item.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/folder_list_item_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="28" endOffset="14"/></Target><Target id="@+id/tv_folder_name" view="TextView"><Expressions/><location startLine="22" startOffset="4" endLine="27" endOffset="67"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_edit" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_edit.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/note_edit_0" view="FrameLayout"><Expressions/><location startLine="17" startOffset="0" endLine="427" endOffset="13"/></Target><Target id="@+id/note_title" view="LinearLayout"><Expressions/><location startLine="28" startOffset="8" endLine="67" endOffset="22"/></Target><Target id="@+id/tv_modified_date" view="TextView"><Expressions/><location startLine="33" startOffset="12" endLine="40" endOffset="77"/></Target><Target id="@+id/iv_alert_icon" view="ImageView"><Expressions/><location startLine="43" startOffset="12" endLine="48" endOffset="60"/></Target><Target id="@+id/tv_alert_date" view="TextView"><Expressions/><location startLine="50" startOffset="12" endLine="57" endOffset="77"/></Target><Target id="@+id/sv_note_edit" view="LinearLayout"><Expressions/><location startLine="69" startOffset="8" endLine="127" endOffset="22"/></Target><Target id="@+id/text_num" view="TextView"><Expressions/><location startLine="79" startOffset="12" endLine="84" endOffset="51"/></Target><Target id="@+id/note_edit_view" view="net.micode.notes.ui.NoteEditText"><Expressions/><location startLine="99" startOffset="20" endLine="109" endOffset="61"/></Target><Target id="@+id/note_edit_list" view="LinearLayout"><Expressions/><location startLine="111" startOffset="20" endLine="117" endOffset="51"/></Target><Target id="@+id/btn_set_bg_color" view="ImageView"><Expressions/><location startLine="130" startOffset="4" endLine="135" endOffset="44"/></Target><Target id="@+id/note_bg_color_selector" view="LinearLayout"><Expressions/><location startLine="137" startOffset="4" endLine="249" endOffset="18"/></Target><Target id="@+id/iv_bg_yellow" view="ImageView"><Expressions/><location startLine="152" startOffset="12" endLine="155" endOffset="54"/></Target><Target id="@+id/iv_bg_yellow_select" view="ImageView"><Expressions/><location startLine="157" startOffset="12" endLine="165" endOffset="50"/></Target><Target id="@+id/iv_bg_blue" view="ImageView"><Expressions/><location startLine="173" startOffset="12" endLine="176" endOffset="54"/></Target><Target id="@+id/iv_bg_blue_select" view="ImageView"><Expressions/><location startLine="178" startOffset="12" endLine="186" endOffset="50"/></Target><Target id="@+id/iv_bg_white" view="ImageView"><Expressions/><location startLine="194" startOffset="12" endLine="197" endOffset="54"/></Target><Target id="@+id/iv_bg_white_select" view="ImageView"><Expressions/><location startLine="199" startOffset="12" endLine="207" endOffset="50"/></Target><Target id="@+id/iv_bg_green" view="ImageView"><Expressions/><location startLine="215" startOffset="12" endLine="218" endOffset="54"/></Target><Target id="@+id/iv_bg_green_select" view="ImageView"><Expressions/><location startLine="220" startOffset="12" endLine="227" endOffset="50"/></Target><Target id="@+id/iv_bg_red" view="ImageView"><Expressions/><location startLine="235" startOffset="12" endLine="238" endOffset="54"/></Target><Target id="@+id/iv_bg_red_select" view="ImageView"><Expressions/><location startLine="240" startOffset="12" endLine="247" endOffset="50"/></Target><Target id="@+id/font_size_selector" view="LinearLayout"><Expressions/><location startLine="251" startOffset="4" endLine="410" endOffset="18"/></Target><Target id="@+id/ll_font_small" view="FrameLayout"><Expressions/><location startLine="259" startOffset="8" endLine="295" endOffset="21"/></Target><Target id="@+id/iv_small_select" view="ImageView"><Expressions/><location startLine="285" startOffset="12" endLine="294" endOffset="50"/></Target><Target id="@+id/ll_font_normal" view="FrameLayout"><Expressions/><location startLine="297" startOffset="8" endLine="333" endOffset="21"/></Target><Target id="@+id/iv_medium_select" view="ImageView"><Expressions/><location startLine="323" startOffset="12" endLine="332" endOffset="50"/></Target><Target id="@+id/ll_font_large" view="FrameLayout"><Expressions/><location startLine="335" startOffset="8" endLine="371" endOffset="21"/></Target><Target id="@+id/iv_large_select" view="ImageView"><Expressions/><location startLine="361" startOffset="12" endLine="370" endOffset="50"/></Target><Target id="@+id/ll_font_super" view="FrameLayout"><Expressions/><location startLine="373" startOffset="8" endLine="409" endOffset="21"/></Target><Target id="@+id/iv_super_select" view="ImageView"><Expressions/><location startLine="399" startOffset="12" endLine="408" endOffset="50"/></Target><Target id="@+id/add_img_btn" view="ImageButton"><Expressions/><location startLine="411" startOffset="4" endLine="418" endOffset="57"/></Target><Target id="@+id/toimage" view="ImageButton"><Expressions/><location startLine="419" startOffset="4" endLine="426" endOffset="42"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_edit_list_item" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_edit_list_item.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/note_edit_list_item_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="38" endOffset="14"/></Target><Target id="@+id/cb_edit_item" view="CheckBox"><Expressions/><location startLine="22" startOffset="4" endLine="28" endOffset="43"/></Target><Target id="@+id/et_edit_text" view="net.micode.notes.ui.NoteEditText"><Expressions/><location startLine="30" startOffset="4" endLine="37" endOffset="36"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_item" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_item.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout" rootNodeViewId="@+id/note_item"><Targets><Target id="@+id/note_item" tag="layout/note_item_0" view="FrameLayout"><Expressions/><location startLine="17" startOffset="0" endLine="77" endOffset="13"/></Target><Target id="@+id/tv_name" view="TextView"><Expressions/><location startLine="35" startOffset="12" endLine="41" endOffset="43"/></Target><Target id="@+id/tv_title" view="TextView"><Expressions/><location startLine="48" startOffset="16" endLine="53" endOffset="47"/></Target><Target id="@+id/tv_time" view="TextView"><Expressions/><location startLine="55" startOffset="16" endLine="59" endOffset="81"/></Target><Target id="@android:id/checkbox" view="CheckBox"><Expressions/><location startLine="63" startOffset="8" endLine="69" endOffset="39"/></Target><Target id="@+id/iv_alert_icon" view="ImageView"><Expressions/><location startLine="72" startOffset="4" endLine="76" endOffset="43"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_list" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_list.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/note_list_0" view="FrameLayout"><Expressions/><location startLine="17" startOffset="0" endLine="60" endOffset="13"/></Target><Target id="@+id/tv_title_bar" view="TextView"><Expressions/><location startLine="29" startOffset="8" endLine="38" endOffset="61"/></Target><Target id="@+id/notes_list" view="ListView"><Expressions/><location startLine="40" startOffset="8" endLine="48" endOffset="63"/></Target><Target id="@+id/btn_new_note" view="Button"><Expressions/><location startLine="52" startOffset="4" endLine="58" endOffset="41"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_list_dropdown_menu" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_list_dropdown_menu.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout" rootNodeViewId="@+id/navigation_bar"><Targets><Target id="@+id/navigation_bar" tag="layout/note_list_dropdown_menu_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="31" endOffset="14"/></Target><Target id="@+id/selection_menu" view="Button"><Expressions/><location startLine="24" startOffset="4" endLine="30" endOffset="57"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="note_list_footer" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\note_list_footer.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.view.View"><Targets><Target tag="layout/note_list_footer_0" view="View"><Expressions/><location startLine="17" startOffset="0" endLine="23" endOffset="51"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="settings_header" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\settings_header.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/settings_header_0" view="LinearLayout"><Expressions/><location startLine="17" startOffset="0" endLine="40" endOffset="14"/></Target><Target id="@+id/preference_sync_button" view="Button"><Expressions/><location startLine="23" startOffset="4" endLine="31" endOffset="67"/></Target><Target id="@+id/prefenerece_sync_status_textview" view="TextView"><Expressions/><location startLine="33" startOffset="4" endLine="38" endOffset="34"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="widget_2x" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\widget_2x.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/widget_2x_0" view="FrameLayout"><Expressions/><location startLine="17" startOffset="0" endLine="36" endOffset="13"/></Target><Target id="@+id/widget_bg_image" view="ImageView"><Expressions/><location startLine="21" startOffset="4" endLine="24" endOffset="45"/></Target><Target id="@+id/widget_text" view="TextView"><Expressions/><location startLine="25" startOffset="4" endLine="35" endOffset="45"/></Target></Targets></Layout>

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="widget_4x" modulePackage="net.micode.notes" filePath="app\src\main\res\layout\widget_4x.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/widget_4x_0" view="FrameLayout"><Expressions/><location startLine="17" startOffset="0" endLine="38" endOffset="13"/></Target><Target id="@+id/widget_bg_image" view="ImageView"><Expressions/><location startLine="22" startOffset="4" endLine="25" endOffset="45"/></Target><Target id="@+id/widget_text" view="TextView"><Expressions/><location startLine="27" startOffset="4" endLine="37" endOffset="45"/></Target></Targets></Layout>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save