Fix RuleBuilder.Restat

RuleBuilder.Restat wasn't being propagated to the rule.

Test: rule_builder_test.go
Change-Id: Ie64c8076692ea10a0c47ed5a8832e3f553bea0fc
diff --git a/android/rule_builder.go b/android/rule_builder.go
index 178a481..a2a5366 100644
--- a/android/rule_builder.go
+++ b/android/rule_builder.go
@@ -242,6 +242,7 @@
 			Rule: ctx.Rule(pctx, name, blueprint.RuleParams{
 				Command:     strings.Join(proptools.NinjaEscapeList(r.Commands()), " && "),
 				CommandDeps: r.Tools().Strings(),
+				Restat:      r.restat,
 			}),
 			Implicits:   r.Inputs(),
 			Outputs:     r.Outputs(),
diff --git a/android/rule_builder_test.go b/android/rule_builder_test.go
index f157ab7..01d23e5 100644
--- a/android/rule_builder_test.go
+++ b/android/rule_builder_test.go
@@ -331,6 +331,8 @@
 
 	rule.Command().Tool(PathForSource(ctx, "cp")).Input(in).Output(out)
 
+	rule.Restat()
+
 	rule.Build(pctx, ctx, "rule", "desc")
 }
 
@@ -376,6 +378,10 @@
 		if len(params.Outputs) != 1 || params.Outputs[0].String() != wantOutput {
 			t.Errorf("want Outputs = [%q], got %q", wantOutput, params.Outputs.Strings())
 		}
+
+		if !params.RuleParams.Restat {
+			t.Errorf("want RuleParams.Restat = true, got %v", params.RuleParams.Restat)
+		}
 	}
 
 	t.Run("module", func(t *testing.T) {