70 lines
5.2 KiB
TOML
70 lines
5.2 KiB
TOML
[manifest]
|
|
packagePrefix = "rip.crit.ms"
|
|
|
|
[resources]
|
|
overlay = "patches/moannotes/res"
|
|
assetOverlay = "patches/moannotes/assets"
|
|
|
|
[resources.translation]
|
|
backend = "argos"
|
|
source = "zh"
|
|
target = "en"
|
|
|
|
[generatedSmali]
|
|
sourceDir = "moannotes-native/build/smali/rip/crit/ms/moannotes/nativebridge"
|
|
|
|
# NOTE: the stock toolbar icons and menus are intentionally left untouched.
|
|
# All patch UI lives outside it: one external FAB on the window decor opens
|
|
# the ToolsSheet bottom docker (layers / ink / snap / KRA export).
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "com/moan/notes/LaunchActivity.smali"
|
|
search = " invoke-virtual {p0, p1}, Lg/b/c/e;->setContentView(I)V\n\n const p1, 0x7f0802a7"
|
|
replace = " invoke-virtual {p0, p1}, Lg/b/c/e;->setContentView(I)V\n\n invoke-static {p0}, Lrip/crit/ms/moannotes/FeatureRegistry;->install(Landroid/app/Activity;)V\n\n const p1, 0x7f0802a7"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "rip/crit/ms/moannotes/FeatureRegistry.smali"
|
|
injectFile = "patches/moannotes/smali/rip/crit/ms/moannotes/FeatureRegistry.smali"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "rip/crit/ms/moannotes/BackgroundCatalogPatch.smali"
|
|
injectFile = "patches/moannotes/smali/rip/crit/ms/moannotes/BackgroundCatalogPatch.smali"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "rip/crit/ms/moannotes/SnapToLineTouchListener.smali"
|
|
injectFile = "patches/moannotes/smali/rip/crit/ms/moannotes/SnapToLineTouchListener.smali"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "rip/crit/ms/moannotes/SnapToLineToggle.smali"
|
|
injectFile = "patches/moannotes/smali/rip/crit/ms/moannotes/SnapToLineToggle.smali"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "h/f/b/m5/l.smali"
|
|
search = " invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z\n\n :cond_0"
|
|
replace = " invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z\n\n sget-object v0, Lh/f/b/m5/l;->a:Ljava/util/ArrayList;\n\n invoke-static {v0}, Lrip/crit/ms/moannotes/BackgroundCatalogPatch;->appendCollegeRuled(Ljava/util/ArrayList;)V\n\n :cond_0"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "h/f/b/m5/j.smali"
|
|
search = " iget p2, p2, Lh/f/b/m5/l;->c:I\n\n invoke-virtual {p1, p2}, Landroid/widget/ImageView;->setImageResource(I)V"
|
|
replace = " iget-object v1, p2, Lh/f/b/m5/l;->d:Ljava/lang/String;\n\n iget p2, p2, Lh/f/b/m5/l;->c:I\n\n iget-object v0, p0, Lh/f/b/m5/j;->h:Landroid/content/Context;\n\n invoke-static {v0, v1, p2}, Lrip/crit/ms/moannotes/BackgroundCatalogPatch;->previewResource(Landroid/content/Context;Ljava/lang/String;I)I\n\n move-result p2\n\n invoke-virtual {p1, p2}, Landroid/widget/ImageView;->setImageResource(I)V"
|
|
|
|
# The stock page loader clamps a negative mEditLayerID but never an
|
|
# over-large one, so any layer-count shrink (delete) crashes note open with
|
|
# IndexOutOfBounds in u5/b/j. Upper-clamp here: corrupted notes open again.
|
|
[[smaliPatches]]
|
|
targetFile = "h/f/b/u5/b/j.smali"
|
|
search = " invoke-static {v2, v1}, Lcom/moan/notes/hand/data/config/LayerConfigData;->sSaveLayerConfigData(Landroid/content/Context;Lcom/moan/notes/hand/data/config/LayerConfigData;)I\n\n :cond_1e\n iget-object v1, v0, Lh/f/b/u5/a/b;->a:Ljava/util/ArrayList;"
|
|
replace = " invoke-static {v2, v1}, Lcom/moan/notes/hand/data/config/LayerConfigData;->sSaveLayerConfigData(Landroid/content/Context;Lcom/moan/notes/hand/data/config/LayerConfigData;)I\n\n :cond_1e\n iget-object v1, v0, Lh/f/b/u5/a/b;->a:Ljava/util/ArrayList;\n\n invoke-virtual {v1}, Ljava/util/ArrayList;->size()I\n\n move-result v1\n\n iget-object v2, v0, Lh/f/b/u5/a/b;->i:Lcom/moan/notes/hand/data/config/LayerConfigData;\n\n iget v2, v2, Lcom/moan/notes/hand/data/config/LayerConfigData;->mEditLayerID:I\n\n if-ge v2, v1, :layer_clamp_ok\n\n add-int/lit8 v1, v1, -0x1\n\n if-gez v1, :layer_clamp_store\n\n const/4 v1, 0x0\n\n :layer_clamp_store\n iget-object v2, v0, Lh/f/b/u5/a/b;->i:Lcom/moan/notes/hand/data/config/LayerConfigData;\n\n iput v1, v2, Lcom/moan/notes/hand/data/config/LayerConfigData;->mEditLayerID:I\n\n move v2, v1\n\n :layer_clamp_ok\n iget-object v1, v0, Lh/f/b/u5/a/b;->a:Ljava/util/ArrayList;"
|
|
|
|
[[smaliPatches]]
|
|
targetFile = "com/moan/notes/NoteActivity.smali"
|
|
search = " invoke-virtual {p1, v0}, Lcom/moan/notes/hand/view/HandwriteView;->setObserver(Lcom/moan/notes/hand/view/HWViewStatus$IStatusReporter;)V\n\n :cond_0\n return-void"
|
|
replace = " invoke-virtual {p1, v0}, Lcom/moan/notes/hand/view/HandwriteView;->setObserver(Lcom/moan/notes/hand/view/HWViewStatus$IStatusReporter;)V\n\n invoke-static {p0}, Lrip/crit/ms/moannotes/FeatureRegistry;->installNote(Landroid/app/Activity;)V\n\n :cond_0\n return-void"
|
|
|
|
# Rotation goes through onConfigurationChanged -> setContentView, which swaps
|
|
# the HandwriteView without rerunning init. Reinstall there so the snap
|
|
# listener follows the new view (FAB lives on the decor and survives).
|
|
[[smaliPatches]]
|
|
targetFile = "com/moan/notes/NoteActivity.smali"
|
|
search = " invoke-virtual {p0}, Lcom/moan/notes/NoteActivity;->D()V\n\n invoke-virtual {p0}, Lcom/moan/notes/NoteActivity;->R()V"
|
|
replace = " invoke-virtual {p0}, Lcom/moan/notes/NoteActivity;->D()V\n\n invoke-virtual {p0}, Lcom/moan/notes/NoteActivity;->R()V\n\n invoke-static {p0}, Lrip/crit/ms/moannotes/FeatureRegistry;->installNote(Landroid/app/Activity;)V"
|